| Index: chrome/browser/translate/translate_manager_render_view_host_unittest.cc
|
| diff --git a/chrome/browser/translate/translate_manager_browsertest.cc b/chrome/browser/translate/translate_manager_render_view_host_unittest.cc
|
| similarity index 86%
|
| copy from chrome/browser/translate/translate_manager_browsertest.cc
|
| copy to chrome/browser/translate/translate_manager_render_view_host_unittest.cc
|
| index d391272dd92fec8b584923d60e1ac5e42c8840f2..a022b280413c6592eba69d95ab90c6bc35f1dd37 100644
|
| --- a/chrome/browser/translate/translate_manager_browsertest.cc
|
| +++ b/chrome/browser/translate/translate_manager_render_view_host_unittest.cc
|
| @@ -1,4 +1,4 @@
|
| -// Copyright (c) 2012 The Chromium Authors. All rights reserved.
|
| +// Copyright 2014 The Chromium Authors. All rights reserved.
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| @@ -6,7 +6,6 @@
|
| #include <set>
|
| #include <vector>
|
|
|
| -#include "base/command_line.h"
|
| #include "base/memory/scoped_ptr.h"
|
| #include "base/prefs/pref_change_registrar.h"
|
| #include "base/prefs/pref_service.h"
|
| @@ -16,14 +15,11 @@
|
| #include "chrome/browser/extensions/test_extension_system.h"
|
| #include "chrome/browser/infobars/infobar.h"
|
| #include "chrome/browser/infobars/infobar_service.h"
|
| -#include "chrome/browser/prefs/session_startup_pref.h"
|
| #include "chrome/browser/renderer_context_menu/render_view_context_menu.h"
|
| #include "chrome/browser/translate/translate_infobar_delegate.h"
|
| #include "chrome/browser/translate/translate_manager.h"
|
| #include "chrome/browser/translate/translate_service.h"
|
| #include "chrome/browser/translate/translate_tab_helper.h"
|
| -#include "chrome/browser/ui/browser.h"
|
| -#include "chrome/browser/ui/tabs/tab_strip_model.h"
|
| #include "chrome/browser/ui/translate/translate_bubble_factory.h"
|
| #include "chrome/browser/ui/translate/translate_bubble_model.h"
|
| #include "chrome/browser/ui/translate/translate_bubble_model_impl.h"
|
| @@ -32,10 +28,8 @@
|
| #include "chrome/common/render_messages.h"
|
| #include "chrome/common/url_constants.h"
|
| #include "chrome/test/base/chrome_render_view_host_test_harness.h"
|
| -#include "chrome/test/base/in_process_browser_test.h"
|
| #include "chrome/test/base/testing_browser_process.h"
|
| #include "chrome/test/base/testing_profile.h"
|
| -#include "chrome/test/base/ui_test_utils.h"
|
| #include "components/translate/core/browser/translate_accept_languages.h"
|
| #include "components/translate/core/browser/translate_download_manager.h"
|
| #include "components/translate/core/browser/translate_language_list.h"
|
| @@ -48,19 +42,21 @@
|
| #include "content/public/browser/notification_details.h"
|
| #include "content/public/browser/notification_registrar.h"
|
| #include "content/public/browser/web_contents.h"
|
| +#include "content/public/common/url_constants.h"
|
| #include "content/public/test/mock_render_process_host.h"
|
| #include "content/public/test/test_renderer_host.h"
|
| #include "net/url_request/test_url_fetcher_factory.h"
|
| #include "net/url_request/url_fetcher_delegate.h"
|
| #include "testing/gmock/include/gmock/gmock.h"
|
| #include "third_party/WebKit/public/web/WebContextMenuData.h"
|
| -
|
| +#include "url/gurl.h"
|
|
|
| // An observer that keeps track of whether a navigation entry was committed.
|
| class NavEntryCommittedObserver : public content::NotificationObserver {
|
| public:
|
| explicit NavEntryCommittedObserver(content::WebContents* web_contents) {
|
| - registrar_.Add(this, content::NOTIFICATION_NAV_ENTRY_COMMITTED,
|
| + registrar_.Add(this,
|
| + content::NOTIFICATION_NAV_ENTRY_COMMITTED,
|
| content::Source<content::NavigationController>(
|
| &web_contents->GetController()));
|
| }
|
| @@ -84,14 +80,14 @@ class NavEntryCommittedObserver : public content::NotificationObserver {
|
| DISALLOW_COPY_AND_ASSIGN(NavEntryCommittedObserver);
|
| };
|
|
|
| -class TranslateManagerBrowserTest : public ChromeRenderViewHostTestHarness,
|
| - public content::NotificationObserver {
|
| +class TranslateManagerRenderViewHostTest
|
| + : public ChromeRenderViewHostTestHarness,
|
| + public content::NotificationObserver {
|
| public:
|
| - TranslateManagerBrowserTest()
|
| + TranslateManagerRenderViewHostTest()
|
| : pref_callback_(
|
| - base::Bind(&TranslateManagerBrowserTest::OnPreferenceChanged,
|
| - base::Unretained(this))) {
|
| - }
|
| + base::Bind(&TranslateManagerRenderViewHostTest::OnPreferenceChanged,
|
| + base::Unretained(this))) {}
|
|
|
| // Simulates navigating to a page and getting the page contents and language
|
| // for that navigation.
|
| @@ -124,16 +120,15 @@ class TranslateManagerBrowserTest : public ChromeRenderViewHostTestHarness,
|
|
|
| void SimulateOnPageTranslated(const std::string& source_lang,
|
| const std::string& target_lang) {
|
| - SimulateOnPageTranslated(0, source_lang, target_lang,
|
| - TranslateErrors::NONE);
|
| + SimulateOnPageTranslated(
|
| + 0, source_lang, target_lang, TranslateErrors::NONE);
|
| }
|
|
|
| bool GetTranslateMessage(int* page_id,
|
| std::string* original_lang,
|
| std::string* target_lang) {
|
| - const IPC::Message* message =
|
| - process()->sink().GetFirstMessageMatching(
|
| - ChromeViewMsg_TranslatePage::ID);
|
| + const IPC::Message* message = process()->sink().GetFirstMessageMatching(
|
| + ChromeViewMsg_TranslatePage::ID);
|
| if (!message)
|
| return false;
|
| Tuple4<int, std::string, std::string, std::string> translate_param;
|
| @@ -155,9 +150,12 @@ class TranslateManagerBrowserTest : public ChromeRenderViewHostTestHarness,
|
| // Returns the translate infobar if there is 1 infobar and it is a translate
|
| // infobar.
|
| TranslateInfoBarDelegate* GetTranslateInfoBar() {
|
| - return (infobar_service()->infobar_count() == 1) ?
|
| - infobar_service()->infobar_at(0)->delegate()->
|
| - AsTranslateInfoBarDelegate() : NULL;
|
| + return (infobar_service()->infobar_count() == 1)
|
| + ? infobar_service()
|
| + ->infobar_at(0)
|
| + ->delegate()
|
| + ->AsTranslateInfoBarDelegate()
|
| + : NULL;
|
| }
|
|
|
| // If there is 1 infobar and it is a translate infobar, closes it and returns
|
| @@ -225,13 +223,7 @@ class TranslateManagerBrowserTest : public ChromeRenderViewHostTestHarness,
|
|
|
| protected:
|
| virtual void SetUp() {
|
| - // This test is a unit test but runs in the browser_tests suite. Therefore
|
| - // it needs to manage its own TestingBrowserProcess.
|
| - // TODO(jamescook): Figure out how to move this suite back to unit_tests.
|
| - // Right now it fails to get the translate infobar if you run it there.
|
| - TestingBrowserProcess::CreateInstance();
|
| -
|
| - TranslateService::Initialize();
|
| + TranslateService::InitializeForTesting();
|
| TranslateService::SetUseInfobar(true);
|
|
|
| // Clears the translate script so it is fetched everytime and sets the
|
| @@ -249,7 +241,8 @@ class TranslateManagerBrowserTest : public ChromeRenderViewHostTestHarness,
|
| TranslateTabHelper::GetManagerFromWebContents(web_contents());
|
| manager->set_translate_max_reload_attemps(0);
|
|
|
| - notification_registrar_.Add(this,
|
| + notification_registrar_.Add(
|
| + this,
|
| chrome::NOTIFICATION_TAB_CONTENTS_INFOBAR_REMOVED,
|
| content::Source<InfoBarService>(infobar_service()));
|
| }
|
| @@ -257,12 +250,13 @@ class TranslateManagerBrowserTest : public ChromeRenderViewHostTestHarness,
|
| virtual void TearDown() {
|
| process()->sink().ClearMessages();
|
|
|
| - notification_registrar_.Remove(this,
|
| + notification_registrar_.Remove(
|
| + this,
|
| chrome::NOTIFICATION_TAB_CONTENTS_INFOBAR_REMOVED,
|
| content::Source<InfoBarService>(infobar_service()));
|
|
|
| ChromeRenderViewHostTestHarness::TearDown();
|
| - TestingBrowserProcess::DeleteInstance();
|
| + TranslateService::ShutdownForTesting();
|
| }
|
|
|
| void SetApplicationLocale(const std::string& locale) {
|
| @@ -276,8 +270,8 @@ class TranslateManagerBrowserTest : public ChromeRenderViewHostTestHarness,
|
| url_fetcher_factory_.GetFetcherByID(TranslateScript::kFetcherId);
|
| ASSERT_TRUE(fetcher);
|
| net::URLRequestStatus status;
|
| - status.set_status(success ? net::URLRequestStatus::SUCCESS :
|
| - net::URLRequestStatus::FAILED);
|
| + status.set_status(success ? net::URLRequestStatus::SUCCESS
|
| + : net::URLRequestStatus::FAILED);
|
| fetcher->set_url(fetcher->GetOriginalURL());
|
| fetcher->set_status(status);
|
| fetcher->set_response_code(success ? 200 : 500);
|
| @@ -290,15 +284,15 @@ class TranslateManagerBrowserTest : public ChromeRenderViewHostTestHarness,
|
| bool use_alpha_languages,
|
| const std::vector<std::string>& alpha_languages) {
|
| net::URLRequestStatus status;
|
| - status.set_status(success ? net::URLRequestStatus::SUCCESS :
|
| - net::URLRequestStatus::FAILED);
|
| + status.set_status(success ? net::URLRequestStatus::SUCCESS
|
| + : net::URLRequestStatus::FAILED);
|
|
|
| std::string data;
|
| if (success) {
|
| - data = base::StringPrintf(
|
| - "%s{\"sl\": {\"bla\": \"bla\"}, \"%s\": {",
|
| - TranslateLanguageList::kLanguageListCallbackName,
|
| - TranslateLanguageList::kTargetLanguagesKey);
|
| + data =
|
| + base::StringPrintf("%s{\"sl\": {\"bla\": \"bla\"}, \"%s\": {",
|
| + TranslateLanguageList::kLanguageListCallbackName,
|
| + TranslateLanguageList::kTargetLanguagesKey);
|
| const char* comma = "";
|
| for (size_t i = 0; i < languages.size(); ++i) {
|
| data += base::StringPrintf(
|
| @@ -312,8 +306,8 @@ class TranslateManagerBrowserTest : public ChromeRenderViewHostTestHarness,
|
| TranslateLanguageList::kAlphaLanguagesKey);
|
| comma = "";
|
| for (size_t i = 0; i < alpha_languages.size(); ++i) {
|
| - data += base::StringPrintf("%s\"%s\": 1", comma,
|
| - alpha_languages[i].c_str());
|
| + data += base::StringPrintf(
|
| + "%s\"%s\": 1", comma, alpha_languages[i].c_str());
|
| if (i == 0)
|
| comma = ",";
|
| }
|
| @@ -345,13 +339,12 @@ class TranslateManagerBrowserTest : public ChromeRenderViewHostTestHarness,
|
| // WARNING: the pointers point to deleted objects, use only for comparison.
|
| std::set<InfoBarDelegate*> removed_infobars_;
|
|
|
| - DISALLOW_COPY_AND_ASSIGN(TranslateManagerBrowserTest);
|
| + DISALLOW_COPY_AND_ASSIGN(TranslateManagerRenderViewHostTest);
|
| };
|
|
|
| class MockTranslateBubbleFactory : public TranslateBubbleFactory {
|
| public:
|
| - MockTranslateBubbleFactory() {
|
| - }
|
| + MockTranslateBubbleFactory() {}
|
|
|
| virtual void ShowImplementation(BrowserWindow* window,
|
| content::WebContents* web_contents,
|
| @@ -369,10 +362,8 @@ class MockTranslateBubbleFactory : public TranslateBubbleFactory {
|
| translate_tab_helper->GetLanguageState().original_language();
|
| std::string target_language = TranslateDownloadManager::GetLanguageCode(
|
| g_browser_process->GetApplicationLocale());
|
| - scoped_ptr<TranslateUIDelegate> ui_delegate(
|
| - new TranslateUIDelegate(web_contents,
|
| - source_language,
|
| - target_language));
|
| + scoped_ptr<TranslateUIDelegate> ui_delegate(new TranslateUIDelegate(
|
| + web_contents, source_language, target_language));
|
| model_.reset(new TranslateBubbleModelImpl(step, ui_delegate.Pass()));
|
| }
|
|
|
| @@ -412,24 +403,25 @@ class TestRenderViewContextMenu : public RenderViewContextMenu {
|
| return menu_model_.GetIndexOfCommandId(id) != -1;
|
| }
|
|
|
| - virtual void PlatformInit() OVERRIDE { }
|
| - virtual void PlatformCancel() OVERRIDE { }
|
| - virtual bool GetAcceleratorForCommandId(
|
| - int command_id,
|
| - ui::Accelerator* accelerator) OVERRIDE { return false; }
|
| + virtual void PlatformInit() OVERRIDE {}
|
| + virtual void PlatformCancel() OVERRIDE {}
|
| + virtual bool GetAcceleratorForCommandId(int command_id,
|
| + ui::Accelerator* accelerator)
|
| + OVERRIDE {
|
| + return false;
|
| + }
|
|
|
| private:
|
| TestRenderViewContextMenu(content::RenderFrameHost* render_frame_host,
|
| const content::ContextMenuParams& params)
|
| - : RenderViewContextMenu(render_frame_host, params) {
|
| - }
|
| + : RenderViewContextMenu(render_frame_host, params) {}
|
|
|
| DISALLOW_COPY_AND_ASSIGN(TestRenderViewContextMenu);
|
| };
|
|
|
| } // namespace
|
|
|
| -TEST_F(TranslateManagerBrowserTest, NormalTranslate) {
|
| +TEST_F(TranslateManagerRenderViewHostTest, NormalTranslate) {
|
| SimulateNavigation(GURL("http://www.google.fr"), "fr", true);
|
|
|
| // We should have an infobar.
|
| @@ -506,7 +498,7 @@ TEST_F(TranslateManagerBrowserTest, NormalTranslate) {
|
| EXPECT_EQ(new_target_lang, infobar->target_language_code());
|
| }
|
|
|
| -TEST_F(TranslateManagerBrowserTest, TranslateScriptNotAvailable) {
|
| +TEST_F(TranslateManagerRenderViewHostTest, TranslateScriptNotAvailable) {
|
| SimulateNavigation(GURL("http://www.google.fr"), "fr", true);
|
|
|
| // We should have an infobar.
|
| @@ -530,7 +522,7 @@ TEST_F(TranslateManagerBrowserTest, TranslateScriptNotAvailable) {
|
|
|
| // Ensures we deal correctly with pages for which the browser does not recognize
|
| // the language (the translate server may or not detect the language).
|
| -TEST_F(TranslateManagerBrowserTest, TranslateUnknownLanguage) {
|
| +TEST_F(TranslateManagerRenderViewHostTest, TranslateUnknownLanguage) {
|
| // Simulate navigating to a page ("und" is the string returned by the CLD for
|
| // languages it does not recognize).
|
| SimulateNavigation(GURL("http://www.google.mys"), "und", true);
|
| @@ -583,8 +575,8 @@ TEST_F(TranslateManagerBrowserTest, TranslateUnknownLanguage) {
|
| menu.reset(TestRenderViewContextMenu::CreateContextMenu(web_contents()));
|
| menu->Init();
|
| menu->ExecuteCommand(IDC_CONTENT_CONTEXT_TRANSLATE, 0);
|
| - SimulateOnPageTranslated(2, std::string(), "en",
|
| - TranslateErrors::UNKNOWN_LANGUAGE);
|
| + SimulateOnPageTranslated(
|
| + 2, std::string(), "en", TranslateErrors::UNKNOWN_LANGUAGE);
|
| infobar = GetTranslateInfoBar();
|
| ASSERT_TRUE(infobar != NULL);
|
| EXPECT_EQ(TranslateTabHelper::TRANSLATE_ERROR, infobar->translate_step());
|
| @@ -592,7 +584,7 @@ TEST_F(TranslateManagerBrowserTest, TranslateUnknownLanguage) {
|
| }
|
|
|
| // Tests that we show/don't show an info-bar for the languages.
|
| -TEST_F(TranslateManagerBrowserTest, TestLanguages) {
|
| +TEST_F(TranslateManagerRenderViewHostTest, TestLanguages) {
|
| std::vector<std::string> languages;
|
| languages.push_back("en");
|
| languages.push_back("ja");
|
| @@ -606,8 +598,8 @@ TEST_F(TranslateManagerBrowserTest, TestLanguages) {
|
| GURL url("http://www.google.com");
|
| for (size_t i = 0; i < languages.size(); ++i) {
|
| std::string lang = languages[i];
|
| - SCOPED_TRACE(::testing::Message() << "Iteration " << i <<
|
| - " language=" << lang);
|
| + SCOPED_TRACE(::testing::Message() << "Iteration " << i
|
| + << " language=" << lang);
|
|
|
| // We should not have a translate infobar.
|
| TranslateInfoBarDelegate* infobar = GetTranslateInfoBar();
|
| @@ -627,7 +619,7 @@ TEST_F(TranslateManagerBrowserTest, TestLanguages) {
|
| }
|
|
|
| // Test the fetching of languages from the translate server
|
| -TEST_F(TranslateManagerBrowserTest, FetchLanguagesFromTranslateServer) {
|
| +TEST_F(TranslateManagerRenderViewHostTest, FetchLanguagesFromTranslateServer) {
|
| std::vector<std::string> server_languages;
|
| // A list of languages to fake being returned by the translate server.
|
| server_languages.push_back("aa");
|
| @@ -656,15 +648,15 @@ TEST_F(TranslateManagerBrowserTest, FetchLanguagesFromTranslateServer) {
|
| EXPECT_EQ(default_supported_languages, current_supported_languages);
|
|
|
| // Also check that it didn't change if we failed the URL fetch.
|
| - SimulateSupportedLanguagesURLFetch(false, std::vector<std::string>(),
|
| - true, std::vector<std::string>());
|
| + SimulateSupportedLanguagesURLFetch(
|
| + false, std::vector<std::string>(), true, std::vector<std::string>());
|
| current_supported_languages.clear();
|
| TranslateDownloadManager::GetSupportedLanguages(¤t_supported_languages);
|
| EXPECT_EQ(default_supported_languages, current_supported_languages);
|
|
|
| // Now check that we got the appropriate set of languages from the server.
|
| - SimulateSupportedLanguagesURLFetch(true, server_languages,
|
| - true, alpha_languages);
|
| + SimulateSupportedLanguagesURLFetch(
|
| + true, server_languages, true, alpha_languages);
|
| current_supported_languages.clear();
|
| TranslateDownloadManager::GetSupportedLanguages(¤t_supported_languages);
|
| // "xx" can't be displayed in the Translate inforbar, so this is eliminated.
|
| @@ -678,16 +670,16 @@ TEST_F(TranslateManagerBrowserTest, FetchLanguagesFromTranslateServer) {
|
| std::find(current_supported_languages.begin(),
|
| current_supported_languages.end(),
|
| lang));
|
| - bool is_alpha = std::find(alpha_languages.begin(),
|
| - alpha_languages.end(),
|
| - lang) != alpha_languages.end();
|
| + bool is_alpha =
|
| + std::find(alpha_languages.begin(), alpha_languages.end(), lang) !=
|
| + alpha_languages.end();
|
| EXPECT_EQ(TranslateDownloadManager::IsAlphaLanguage(lang), is_alpha);
|
| }
|
| }
|
|
|
| // Test the fetching of languages from the translate server without 'al'
|
| // parameter.
|
| -TEST_F(TranslateManagerBrowserTest,
|
| +TEST_F(TranslateManagerRenderViewHostTest,
|
| FetchLanguagesFromTranslateServerWithoutAlpha) {
|
| std::vector<std::string> server_languages;
|
| server_languages.push_back("aa");
|
| @@ -707,8 +699,8 @@ TEST_F(TranslateManagerBrowserTest,
|
| std::vector<std::string> default_supported_languages;
|
| TranslateDownloadManager::GetSupportedLanguages(&default_supported_languages);
|
|
|
| - SimulateSupportedLanguagesURLFetch(true, server_languages,
|
| - false, alpha_languages);
|
| + SimulateSupportedLanguagesURLFetch(
|
| + true, server_languages, false, alpha_languages);
|
|
|
| std::vector<std::string> current_supported_languages;
|
| TranslateDownloadManager::GetSupportedLanguages(¤t_supported_languages);
|
| @@ -729,7 +721,7 @@ TEST_F(TranslateManagerBrowserTest,
|
| }
|
|
|
| // Tests auto-translate on page.
|
| -TEST_F(TranslateManagerBrowserTest, AutoTranslateOnNavigate) {
|
| +TEST_F(TranslateManagerRenderViewHostTest, AutoTranslateOnNavigate) {
|
| SimulateNavigation(GURL("http://www.google.fr"), "fr", true);
|
|
|
| // Simulate the user translating.
|
| @@ -761,7 +753,7 @@ TEST_F(TranslateManagerBrowserTest, AutoTranslateOnNavigate) {
|
| }
|
|
|
| // Tests that multiple OnPageContents do not cause multiple infobars.
|
| -TEST_F(TranslateManagerBrowserTest, MultipleOnPageContents) {
|
| +TEST_F(TranslateManagerRenderViewHostTest, MultipleOnPageContents) {
|
| SimulateNavigation(GURL("http://www.google.fr"), "fr", true);
|
|
|
| // Simulate clicking 'Nope' (don't translate).
|
| @@ -782,7 +774,7 @@ TEST_F(TranslateManagerBrowserTest, MultipleOnPageContents) {
|
|
|
| // Test that reloading the page brings back the infobar if the
|
| // reload succeeded and does not bring it back the reload fails.
|
| -TEST_F(TranslateManagerBrowserTest, Reload) {
|
| +TEST_F(TranslateManagerRenderViewHostTest, Reload) {
|
| SimulateNavigation(GURL("http://www.google.fr"), "fr", true);
|
|
|
| EXPECT_TRUE(CloseTranslateInfoBar());
|
| @@ -807,7 +799,7 @@ TEST_F(TranslateManagerBrowserTest, Reload) {
|
|
|
| // Test that reloading the page by way of typing again the URL in the
|
| // location bar brings back the infobar.
|
| -TEST_F(TranslateManagerBrowserTest, ReloadFromLocationBar) {
|
| +TEST_F(TranslateManagerRenderViewHostTest, ReloadFromLocationBar) {
|
| GURL url("http://www.google.fr");
|
| SimulateNavigation(url, "fr", true);
|
|
|
| @@ -816,9 +808,8 @@ TEST_F(TranslateManagerBrowserTest, ReloadFromLocationBar) {
|
| // Create a pending navigation and simulate a page load. That should be the
|
| // equivalent of typing the URL again in the location bar.
|
| NavEntryCommittedObserver nav_observer(web_contents());
|
| - web_contents()->GetController().LoadURL(url, content::Referrer(),
|
| - content::PAGE_TRANSITION_TYPED,
|
| - std::string());
|
| + web_contents()->GetController().LoadURL(
|
| + url, content::Referrer(), content::PAGE_TRANSITION_TYPED, std::string());
|
| rvh_tester()->SendNavigate(0, url);
|
|
|
| // Test that we are really getting a same page navigation, the test would be
|
| @@ -836,7 +827,7 @@ TEST_F(TranslateManagerBrowserTest, ReloadFromLocationBar) {
|
|
|
| // Tests that a closed translate infobar does not reappear when navigating
|
| // in-page.
|
| -TEST_F(TranslateManagerBrowserTest, CloseInfoBarInPageNavigation) {
|
| +TEST_F(TranslateManagerRenderViewHostTest, CloseInfoBarInPageNavigation) {
|
| SimulateNavigation(GURL("http://www.google.fr"), "fr", true);
|
|
|
| EXPECT_TRUE(CloseTranslateInfoBar());
|
| @@ -852,7 +843,7 @@ TEST_F(TranslateManagerBrowserTest, CloseInfoBarInPageNavigation) {
|
|
|
| // Tests that a closed translate infobar does not reappear when navigating
|
| // in a subframe. (http://crbug.com/48215)
|
| -TEST_F(TranslateManagerBrowserTest, CloseInfoBarInSubframeNavigation) {
|
| +TEST_F(TranslateManagerRenderViewHostTest, CloseInfoBarInSubframeNavigation) {
|
| SimulateNavigation(GURL("http://www.google.fr"), "fr", true);
|
|
|
| EXPECT_TRUE(CloseTranslateInfoBar());
|
| @@ -873,7 +864,7 @@ TEST_F(TranslateManagerBrowserTest, CloseInfoBarInSubframeNavigation) {
|
| }
|
|
|
| // Tests that denying translation is sticky when navigating in page.
|
| -TEST_F(TranslateManagerBrowserTest, DenyTranslateInPageNavigation) {
|
| +TEST_F(TranslateManagerRenderViewHostTest, DenyTranslateInPageNavigation) {
|
| SimulateNavigation(GURL("http://www.google.fr"), "fr", true);
|
|
|
| // Simulate clicking 'Nope' (don't translate).
|
| @@ -890,7 +881,8 @@ TEST_F(TranslateManagerBrowserTest, DenyTranslateInPageNavigation) {
|
|
|
| // Tests that after translating and closing the infobar, the infobar does not
|
| // return when navigating in page.
|
| -TEST_F(TranslateManagerBrowserTest, TranslateCloseInfoBarInPageNavigation) {
|
| +TEST_F(TranslateManagerRenderViewHostTest,
|
| + TranslateCloseInfoBarInPageNavigation) {
|
| SimulateNavigation(GURL("http://www.google.fr"), "fr", true);
|
|
|
| // Simulate the user translating.
|
| @@ -917,7 +909,7 @@ TEST_F(TranslateManagerBrowserTest, TranslateCloseInfoBarInPageNavigation) {
|
|
|
| // Tests that the after translate the infobar still shows when navigating
|
| // in-page.
|
| -TEST_F(TranslateManagerBrowserTest, TranslateInPageNavigation) {
|
| +TEST_F(TranslateManagerRenderViewHostTest, TranslateInPageNavigation) {
|
| SimulateNavigation(GURL("http://www.google.fr"), "fr", true);
|
|
|
| // Simulate the user translating.
|
| @@ -942,7 +934,7 @@ TEST_F(TranslateManagerBrowserTest, TranslateInPageNavigation) {
|
|
|
| // Tests that no translate infobar is shown when navigating to a page in an
|
| // unsupported language.
|
| -TEST_F(TranslateManagerBrowserTest, CLDReportsUnsupportedPageLanguage) {
|
| +TEST_F(TranslateManagerRenderViewHostTest, CLDReportsUnsupportedPageLanguage) {
|
| // Simulate navigating to a page and getting an unsupported language.
|
| SimulateNavigation(GURL("http://www.google.com"), "qbz", true);
|
|
|
| @@ -953,7 +945,7 @@ TEST_F(TranslateManagerBrowserTest, CLDReportsUnsupportedPageLanguage) {
|
| // Tests that we deal correctly with unsupported languages returned by the
|
| // server.
|
| // The translation server might return a language we don't support.
|
| -TEST_F(TranslateManagerBrowserTest, ServerReportsUnsupportedLanguage) {
|
| +TEST_F(TranslateManagerRenderViewHostTest, ServerReportsUnsupportedLanguage) {
|
| SimulateNavigation(GURL("http://mail.google.fr"), "fr", true);
|
| TranslateInfoBarDelegate* infobar = GetTranslateInfoBar();
|
| ASSERT_TRUE(infobar != NULL);
|
| @@ -976,9 +968,8 @@ TEST_F(TranslateManagerBrowserTest, ServerReportsUnsupportedLanguage) {
|
| // Pressing the button on that infobar should revert to the original language.
|
| process()->sink().ClearMessages();
|
| infobar->MessageInfoBarButtonPressed();
|
| - const IPC::Message* message =
|
| - process()->sink().GetFirstMessageMatching(
|
| - ChromeViewMsg_RevertTranslation::ID);
|
| + const IPC::Message* message = process()->sink().GetFirstMessageMatching(
|
| + ChromeViewMsg_RevertTranslation::ID);
|
| EXPECT_TRUE(message != NULL);
|
| // And it should have removed the infobar.
|
| EXPECT_TRUE(GetTranslateInfoBar() == NULL);
|
| @@ -986,7 +977,7 @@ TEST_F(TranslateManagerBrowserTest, ServerReportsUnsupportedLanguage) {
|
|
|
| // Tests that no translate infobar is shown and context menu is disabled, when
|
| // Chrome is in a language that the translate server does not support.
|
| -TEST_F(TranslateManagerBrowserTest, UnsupportedUILanguage) {
|
| +TEST_F(TranslateManagerRenderViewHostTest, UnsupportedUILanguage) {
|
| std::string original_lang = g_browser_process->GetApplicationLocale();
|
| SetApplicationLocale("qbz");
|
|
|
| @@ -1014,7 +1005,7 @@ TEST_F(TranslateManagerBrowserTest, UnsupportedUILanguage) {
|
| }
|
|
|
| // Tests that the first supported accept language is selected
|
| -TEST_F(TranslateManagerBrowserTest, TranslateAcceptLanguage) {
|
| +TEST_F(TranslateManagerRenderViewHostTest, TranslateAcceptLanguage) {
|
| // Set locate to non-existant language
|
| std::string original_lang = g_browser_process->GetApplicationLocale();
|
| SetApplicationLocale("qbz");
|
| @@ -1044,7 +1035,7 @@ TEST_F(TranslateManagerBrowserTest, TranslateAcceptLanguage) {
|
| }
|
|
|
| // Tests that the translate enabled preference is honored.
|
| -TEST_F(TranslateManagerBrowserTest, TranslateEnabledPref) {
|
| +TEST_F(TranslateManagerRenderViewHostTest, TranslateEnabledPref) {
|
| // Make sure the pref allows translate.
|
| Profile* profile =
|
| Profile::FromBrowserContext(web_contents()->GetBrowserContext());
|
| @@ -1074,7 +1065,7 @@ TEST_F(TranslateManagerBrowserTest, TranslateEnabledPref) {
|
| }
|
|
|
| // Tests the "Never translate <language>" pref.
|
| -TEST_F(TranslateManagerBrowserTest, NeverTranslateLanguagePref) {
|
| +TEST_F(TranslateManagerRenderViewHostTest, NeverTranslateLanguagePref) {
|
| GURL url("http://www.google.fr");
|
| SimulateNavigation(url, "fr", true);
|
|
|
| @@ -1087,8 +1078,7 @@ TEST_F(TranslateManagerBrowserTest, NeverTranslateLanguagePref) {
|
| PrefService* prefs = profile->GetPrefs();
|
| PrefChangeRegistrar registrar;
|
| registrar.Init(prefs);
|
| - registrar.Add(TranslatePrefs::kPrefTranslateBlockedLanguages,
|
| - pref_callback_);
|
| + registrar.Add(TranslatePrefs::kPrefTranslateBlockedLanguages, pref_callback_);
|
| scoped_ptr<TranslatePrefs> translate_prefs(
|
| TranslateTabHelper::CreateTranslatePrefs(prefs));
|
| EXPECT_FALSE(translate_prefs->IsBlockedLanguage("fr"));
|
| @@ -1124,7 +1114,7 @@ TEST_F(TranslateManagerBrowserTest, NeverTranslateLanguagePref) {
|
| }
|
|
|
| // Tests the "Never translate this site" pref.
|
| -TEST_F(TranslateManagerBrowserTest, NeverTranslateSitePref) {
|
| +TEST_F(TranslateManagerRenderViewHostTest, NeverTranslateSitePref) {
|
| GURL url("http://www.google.fr");
|
| std::string host(url.host());
|
| SimulateNavigation(url, "fr", true);
|
| @@ -1172,7 +1162,7 @@ TEST_F(TranslateManagerBrowserTest, NeverTranslateSitePref) {
|
| }
|
|
|
| // Tests the "Always translate this language" pref.
|
| -TEST_F(TranslateManagerBrowserTest, AlwaysTranslateLanguagePref) {
|
| +TEST_F(TranslateManagerRenderViewHostTest, AlwaysTranslateLanguagePref) {
|
| // Select always translate French to English.
|
| Profile* profile =
|
| Profile::FromBrowserContext(web_contents()->GetBrowserContext());
|
| @@ -1231,7 +1221,7 @@ TEST_F(TranslateManagerBrowserTest, AlwaysTranslateLanguagePref) {
|
| }
|
|
|
| // Context menu.
|
| -TEST_F(TranslateManagerBrowserTest, ContextMenu) {
|
| +TEST_F(TranslateManagerRenderViewHostTest, ContextMenu) {
|
| // Blacklist www.google.fr and French for translation.
|
| GURL url("http://www.google.fr");
|
| Profile* profile =
|
| @@ -1340,7 +1330,7 @@ TEST_F(TranslateManagerBrowserTest, ContextMenu) {
|
| // Tests that an extra always/never translate button is shown on the "before
|
| // translate" infobar when the translation is accepted/declined 3 times,
|
| // only when not in incognito mode.
|
| -TEST_F(TranslateManagerBrowserTest, BeforeTranslateExtraButtons) {
|
| +TEST_F(TranslateManagerRenderViewHostTest, BeforeTranslateExtraButtons) {
|
| Profile* profile =
|
| Profile::FromBrowserContext(web_contents()->GetBrowserContext());
|
| scoped_ptr<TranslatePrefs> translate_prefs(
|
| @@ -1356,12 +1346,11 @@ TEST_F(TranslateManagerBrowserTest, BeforeTranslateExtraButtons) {
|
| TestingProfile* test_profile =
|
| static_cast<TestingProfile*>(web_contents()->GetBrowserContext());
|
| static_cast<extensions::TestExtensionSystem*>(
|
| - extensions::ExtensionSystem::Get(test_profile))->
|
| - CreateProcessManager();
|
| + extensions::ExtensionSystem::Get(test_profile))->CreateProcessManager();
|
| test_profile->ForceIncognito(true);
|
| for (int i = 0; i < 8; ++i) {
|
| - SCOPED_TRACE(::testing::Message() << "Iteration " << i <<
|
| - " incognito mode=" << test_profile->IsOffTheRecord());
|
| + SCOPED_TRACE(::testing::Message() << "Iteration " << i << " incognito mode="
|
| + << test_profile->IsOffTheRecord());
|
| SimulateNavigation(GURL("http://www.google.fr"), "fr", true);
|
| infobar = GetTranslateInfoBar();
|
| ASSERT_TRUE(infobar != NULL);
|
| @@ -1392,8 +1381,8 @@ TEST_F(TranslateManagerBrowserTest, BeforeTranslateExtraButtons) {
|
| // to be shown (in non incognito mode only).
|
| test_profile->ForceIncognito(true);
|
| for (int i = 0; i < 8; ++i) {
|
| - SCOPED_TRACE(::testing::Message() << "Iteration " << i <<
|
| - " incognito mode=" << test_profile->IsOffTheRecord());
|
| + SCOPED_TRACE(::testing::Message() << "Iteration " << i << " incognito mode="
|
| + << test_profile->IsOffTheRecord());
|
| SimulateNavigation(GURL("http://www.google.de"), "de", true);
|
| infobar = GetTranslateInfoBar();
|
| ASSERT_TRUE(infobar != NULL);
|
| @@ -1418,7 +1407,7 @@ TEST_F(TranslateManagerBrowserTest, BeforeTranslateExtraButtons) {
|
|
|
| // Tests that we don't show a translate infobar when a page instructs that it
|
| // should not be translated.
|
| -TEST_F(TranslateManagerBrowserTest, NonTranslatablePage) {
|
| +TEST_F(TranslateManagerRenderViewHostTest, NonTranslatablePage) {
|
| SimulateNavigation(GURL("http://mail.google.fr"), "fr", false);
|
|
|
| // We should not have an infobar.
|
| @@ -1433,7 +1422,7 @@ TEST_F(TranslateManagerBrowserTest, NonTranslatablePage) {
|
| }
|
|
|
| // Tests that the script is expired and refetched as expected.
|
| -TEST_F(TranslateManagerBrowserTest, ScriptExpires) {
|
| +TEST_F(TranslateManagerRenderViewHostTest, ScriptExpires) {
|
| ExpireTranslateScriptImmediately();
|
|
|
| SimulateNavigation(GURL("http://www.google.fr"), "fr", true);
|
| @@ -1455,9 +1444,8 @@ TEST_F(TranslateManagerBrowserTest, ScriptExpires) {
|
| infobar->Translate();
|
| // If we don't simulate the URL fetch, the TranslateManager should be waiting
|
| // for the script and no message should have been sent to the renderer.
|
| - EXPECT_TRUE(
|
| - process()->sink().GetFirstMessageMatching(
|
| - ChromeViewMsg_TranslatePage::ID) == NULL);
|
| + EXPECT_TRUE(process()->sink().GetFirstMessageMatching(
|
| + ChromeViewMsg_TranslatePage::ID) == NULL);
|
| // Now simulate the URL fetch.
|
| SimulateTranslateScriptURLFetch(true);
|
| // Now the message should have been sent.
|
| @@ -1468,16 +1456,16 @@ TEST_F(TranslateManagerBrowserTest, ScriptExpires) {
|
| EXPECT_EQ("en", target_lang);
|
| }
|
|
|
| -TEST_F(TranslateManagerBrowserTest, DownloadsAndHistoryNotTranslated) {
|
| - ASSERT_FALSE(TranslateManager::IsTranslatableURL(
|
| - GURL(chrome::kChromeUIDownloadsURL)));
|
| - ASSERT_FALSE(TranslateManager::IsTranslatableURL(
|
| - GURL(chrome::kChromeUIHistoryURL)));
|
| +TEST_F(TranslateManagerRenderViewHostTest, DownloadsAndHistoryNotTranslated) {
|
| + ASSERT_FALSE(
|
| + TranslateManager::IsTranslatableURL(GURL(chrome::kChromeUIDownloadsURL)));
|
| + ASSERT_FALSE(
|
| + TranslateManager::IsTranslatableURL(GURL(chrome::kChromeUIHistoryURL)));
|
| }
|
|
|
| #if defined(USE_AURA)
|
|
|
| -TEST_F(TranslateManagerBrowserTest, BubbleNormalTranslate) {
|
| +TEST_F(TranslateManagerRenderViewHostTest, BubbleNormalTranslate) {
|
| // Prepare for the bubble
|
| TranslateService::SetUseInfobar(false);
|
| MockTranslateBubbleFactory* factory = new MockTranslateBubbleFactory;
|
| @@ -1518,7 +1506,7 @@ TEST_F(TranslateManagerBrowserTest, BubbleNormalTranslate) {
|
| bubble->GetViewState());
|
| }
|
|
|
| -TEST_F(TranslateManagerBrowserTest, BubbleTranslateScriptNotAvailable) {
|
| +TEST_F(TranslateManagerRenderViewHostTest, BubbleTranslateScriptNotAvailable) {
|
| // Prepare for the bubble
|
| TranslateService::SetUseInfobar(false);
|
| MockTranslateBubbleFactory* factory = new MockTranslateBubbleFactory;
|
| @@ -1546,11 +1534,10 @@ TEST_F(TranslateManagerBrowserTest, BubbleTranslateScriptNotAvailable) {
|
| // And we should have an error infobar showing.
|
| bubble = factory->model();
|
| ASSERT_TRUE(bubble != NULL);
|
| - EXPECT_EQ(TranslateBubbleModel::VIEW_STATE_ERROR,
|
| - bubble->GetViewState());
|
| + EXPECT_EQ(TranslateBubbleModel::VIEW_STATE_ERROR, bubble->GetViewState());
|
| }
|
|
|
| -TEST_F(TranslateManagerBrowserTest, BubbleUnknownLanguage) {
|
| +TEST_F(TranslateManagerRenderViewHostTest, BubbleUnknownLanguage) {
|
| // Prepare for the bubble
|
| TranslateService::SetUseInfobar(false);
|
| MockTranslateBubbleFactory* factory = new MockTranslateBubbleFactory;
|
| @@ -1580,55 +1567,3 @@ TEST_F(TranslateManagerBrowserTest, BubbleUnknownLanguage) {
|
| }
|
|
|
| #endif // defined(USE_AURA)
|
| -
|
| -// Test is flaky on Win http://crbug.com/166334
|
| -#if defined(OS_WIN)
|
| -#define MAYBE_PRE_TranslateSessionRestore DISABLED_PRE_TranslateSessionRestore
|
| -#else
|
| -#define MAYBE_PRE_TranslateSessionRestore PRE_TranslateSessionRestore
|
| -#endif
|
| -// Test that session restore restores the translate infobar and other translate
|
| -// settings.
|
| -IN_PROC_BROWSER_TEST_F(InProcessBrowserTest,
|
| - MAYBE_PRE_TranslateSessionRestore) {
|
| - SessionStartupPref pref(SessionStartupPref::LAST);
|
| - SessionStartupPref::SetStartupPref(browser()->profile(), pref);
|
| -
|
| - content::WebContents* current_web_contents =
|
| - browser()->tab_strip_model()->GetActiveWebContents();
|
| - TranslateTabHelper* translate_tab_helper =
|
| - TranslateTabHelper::FromWebContents(current_web_contents);
|
| - content::Source<content::WebContents> source(current_web_contents);
|
| -
|
| - ui_test_utils::WindowedNotificationObserverWithDetails<
|
| - LanguageDetectionDetails>
|
| - fr_language_detected_signal(chrome::NOTIFICATION_TAB_LANGUAGE_DETERMINED,
|
| - source);
|
| -
|
| - GURL french_url = ui_test_utils::GetTestUrl(
|
| - base::FilePath(), base::FilePath(FILE_PATH_LITERAL("french_page.html")));
|
| - ui_test_utils::NavigateToURL(browser(), french_url);
|
| - fr_language_detected_signal.Wait();
|
| - LanguageDetectionDetails details;
|
| - EXPECT_TRUE(fr_language_detected_signal.GetDetailsFor(
|
| - source.map_key(), &details));
|
| - EXPECT_EQ("fr", details.adopted_language);
|
| - EXPECT_EQ("fr", translate_tab_helper->GetLanguageState().original_language());
|
| -}
|
| -
|
| -#if defined (OS_WIN)
|
| -#define MAYBE_TranslateSessionRestore DISABLED_TranslateSessionRestore
|
| -#else
|
| -#define MAYBE_TranslateSessionRestore TranslateSessionRestore
|
| -#endif
|
| -IN_PROC_BROWSER_TEST_F(InProcessBrowserTest, MAYBE_TranslateSessionRestore) {
|
| - content::WebContents* current_web_contents =
|
| - browser()->tab_strip_model()->GetActiveWebContents();
|
| - content::Source<content::WebContents> source(current_web_contents);
|
| -
|
| - ui_test_utils::WindowedNotificationObserverWithDetails<
|
| - LanguageDetectionDetails>
|
| - fr_language_detected_signal(chrome::NOTIFICATION_TAB_LANGUAGE_DETERMINED,
|
| - source);
|
| - fr_language_detected_signal.Wait();
|
| -}
|
|
|