diff options
Diffstat (limited to 'chrome/browser/ui/search/instant_ntp_prerenderer_unittest.cc')
-rw-r--r-- | chrome/browser/ui/search/instant_ntp_prerenderer_unittest.cc | 244 |
1 files changed, 0 insertions, 244 deletions
diff --git a/chrome/browser/ui/search/instant_ntp_prerenderer_unittest.cc b/chrome/browser/ui/search/instant_ntp_prerenderer_unittest.cc deleted file mode 100644 index ca9bdf2..0000000 --- a/chrome/browser/ui/search/instant_ntp_prerenderer_unittest.cc +++ /dev/null @@ -1,244 +0,0 @@ -// Copyright 2013 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. - -#include "base/memory/scoped_ptr.h" -#include "base/prefs/pref_service.h" -#include "chrome/browser/content_settings/host_content_settings_map.h" -#include "chrome/browser/search/instant_service_factory.h" -#include "chrome/browser/search/search.h" -#include "chrome/browser/ui/search/instant_ntp.h" -#include "chrome/browser/ui/search/instant_ntp_prerenderer.h" -#include "chrome/common/content_settings.h" -#include "chrome/common/pref_names.h" -#include "chrome/test/base/testing_profile.h" -#include "content/public/test/test_browser_thread_bundle.h" -#include "testing/gtest/include/gtest/gtest.h" - -class TestableInstantNTP : public InstantNTP { - public: - TestableInstantNTP(InstantNTPPrerenderer* ntp_prerenderer, - const std::string& instant_url, - Profile* profile) - : InstantNTP(ntp_prerenderer, "UNUSED", profile), - test_instant_url_(instant_url), - test_supports_instant_(true), - test_is_local_(false) { - } - - // Overrides from InstantPage - virtual bool supports_instant() const OVERRIDE { - return test_supports_instant_; - } - - virtual bool IsLocal() const OVERRIDE { - return test_is_local_; - }; - - virtual const std::string& instant_url() const OVERRIDE { - return test_instant_url_; - } - - void set_instant_url(const std::string& instant_url) { - test_instant_url_ = instant_url; - } - - void set_supports_instant(bool supports_instant) { - test_supports_instant_ = supports_instant; - } - - void set_is_local(bool is_local) { - test_is_local_ = is_local; - } - - private: - std::string test_instant_url_; - bool test_supports_instant_; - bool test_is_local_; -}; - -class TestableInstantNTPPrerenderer : public InstantNTPPrerenderer { - public: - explicit TestableInstantNTPPrerenderer(TestingProfile* profile, - InstantService* instant_service) - : InstantNTPPrerenderer(profile, instant_service, NULL), - test_instant_url_("http://test_url"), - override_javascript_enabled_(true), - test_javascript_enabled_(true), - test_in_startup_(false), - test_ntp_(NULL) { - } - - // Overrides from InstantNTPPrerenderer - virtual std::string GetInstantURL() const OVERRIDE { - return test_instant_url_; - } - - virtual std::string GetLocalInstantURL() const OVERRIDE { - return "http://local_instant_url"; - } - - virtual InstantNTP* ntp() const OVERRIDE { - return test_ntp_; - } - - virtual bool IsJavascriptEnabled() const OVERRIDE { - if (override_javascript_enabled_) - return test_javascript_enabled_; - else - return InstantNTPPrerenderer::IsJavascriptEnabled(); - } - - virtual bool InStartup() const OVERRIDE { - return test_in_startup_; - } - - void set_instant_url(const std::string& instant_url) { - test_instant_url_ = instant_url; - } - - void set_ntp(InstantNTP* ntp) { - test_ntp_ = ntp; - } - - void set_javascript_enabled(bool javascript_enabled) { - override_javascript_enabled_ = true; - test_javascript_enabled_ = javascript_enabled; - } - - void set_override_javascript_enabled(bool override_javascript_enabled) { - override_javascript_enabled_ = override_javascript_enabled; - } - - void set_in_startup(bool in_startup) { - test_in_startup_ = in_startup; - } - -private: - std::string test_instant_url_; - bool override_javascript_enabled_; - bool test_javascript_enabled_; - bool test_in_startup_; - InstantNTP* test_ntp_; -}; - -class InstantNTPPrerendererTest : public testing::Test { - public: - virtual void SetUp() OVERRIDE { - instant_service_ = InstantServiceFactory::GetForProfile(&profile_); - instant_ntp_prerenderer_.reset( - new TestableInstantNTPPrerenderer(&profile_, instant_service_)); - } - - virtual void TearDown() OVERRIDE { - instant_ntp_prerenderer_.reset(); - } - - TestableInstantNTPPrerenderer* instant_ntp_prerenderer() { - return instant_ntp_prerenderer_.get(); - } - - Profile* profile() { - return instant_ntp_prerenderer()->profile(); - } - - private: - content::TestBrowserThreadBundle thread_bundle_; - scoped_ptr<TestableInstantNTPPrerenderer> instant_ntp_prerenderer_; - InstantService* instant_service_; - mutable TestingProfile profile_; -}; - -TEST_F(InstantNTPPrerendererTest, PrefersRemoteNTPOnStartup) { - std::string instant_url("http://instant_url"); - scoped_ptr<TestableInstantNTP> ntp(new TestableInstantNTP( - instant_ntp_prerenderer(), instant_url, profile())); - instant_ntp_prerenderer()->set_ntp(ntp.get()); - instant_ntp_prerenderer()->set_instant_url(instant_url); - instant_ntp_prerenderer()->set_in_startup(true); - EXPECT_FALSE(instant_ntp_prerenderer()->ShouldSwitchToLocalNTP()); -} - -TEST_F(InstantNTPPrerendererTest, SwitchesToLocalNTPIfNoInstantSupport) { - std::string instant_url("http://instant_url"); - scoped_ptr<TestableInstantNTP> ntp(new TestableInstantNTP( - instant_ntp_prerenderer(), instant_url, profile())); - instant_ntp_prerenderer()->set_ntp(ntp.get()); - instant_ntp_prerenderer()->set_instant_url(instant_url); - ntp->set_supports_instant(false); - EXPECT_TRUE(instant_ntp_prerenderer()->ShouldSwitchToLocalNTP()); -} - -TEST_F(InstantNTPPrerendererTest, SwitchesToLocalNTPIfPathBad) { - std::string instant_url("http://instant_url"); - scoped_ptr<TestableInstantNTP> ntp(new TestableInstantNTP( - instant_ntp_prerenderer(), instant_url, profile())); - instant_ntp_prerenderer()->set_ntp(ntp.get()); - instant_ntp_prerenderer()->set_instant_url("http://bogus_url"); - EXPECT_TRUE(instant_ntp_prerenderer()->ShouldSwitchToLocalNTP()); -} - -TEST_F(InstantNTPPrerendererTest, DoesNotSwitchToLocalNTPIfOnCurrentNTP) { - std::string instant_url("http://instant_url"); - scoped_ptr<TestableInstantNTP> ntp(new TestableInstantNTP( - instant_ntp_prerenderer(), instant_url, profile())); - instant_ntp_prerenderer()->set_ntp(ntp.get()); - instant_ntp_prerenderer()->set_instant_url(instant_url); - EXPECT_FALSE(instant_ntp_prerenderer()->ShouldSwitchToLocalNTP()); -} - -TEST_F(InstantNTPPrerendererTest, DoesNotSwitchToLocalNTPIfOnLocalNTP) { - std::string instant_url("http://instant_url"); - scoped_ptr<TestableInstantNTP> ntp(new TestableInstantNTP( - instant_ntp_prerenderer(), instant_url, profile())); - instant_ntp_prerenderer()->set_ntp(ntp.get()); - instant_ntp_prerenderer()->set_instant_url(instant_url); - ntp->set_instant_url("http://local_instant_url"); - EXPECT_FALSE(instant_ntp_prerenderer()->ShouldSwitchToLocalNTP()); -} - -TEST_F(InstantNTPPrerendererTest, SwitchesToLocalNTPIfJSDisabled) { - std::string instant_url("http://instant_url"); - scoped_ptr<TestableInstantNTP> ntp(new TestableInstantNTP( - instant_ntp_prerenderer(), instant_url, profile())); - instant_ntp_prerenderer()->set_ntp(ntp.get()); - instant_ntp_prerenderer()->set_javascript_enabled(false); - instant_ntp_prerenderer()->set_instant_url(instant_url); - ntp->set_instant_url("http://local_instant_url"); - EXPECT_TRUE(instant_ntp_prerenderer()->ShouldSwitchToLocalNTP()); -} - -TEST_F(InstantNTPPrerendererTest, SwitchesToLocalNTPIfNoNTPReady) { - EXPECT_TRUE(instant_ntp_prerenderer()->ShouldSwitchToLocalNTP()); -} - -TEST_F(InstantNTPPrerendererTest, IsJavascriptEnabled) { - instant_ntp_prerenderer()->set_override_javascript_enabled(false); - EXPECT_TRUE(instant_ntp_prerenderer()->IsJavascriptEnabled()); -} - -TEST_F(InstantNTPPrerendererTest, IsJavascriptEnabledChecksContentSettings) { - instant_ntp_prerenderer()->set_override_javascript_enabled(false); - instant_ntp_prerenderer()->profile()->GetHostContentSettingsMap() - ->SetDefaultContentSetting(CONTENT_SETTINGS_TYPE_JAVASCRIPT, - CONTENT_SETTING_DEFAULT); - EXPECT_TRUE(instant_ntp_prerenderer()->IsJavascriptEnabled()); - instant_ntp_prerenderer()->profile()->GetHostContentSettingsMap() - ->SetDefaultContentSetting(CONTENT_SETTINGS_TYPE_JAVASCRIPT, - CONTENT_SETTING_ALLOW); - EXPECT_TRUE(instant_ntp_prerenderer()->IsJavascriptEnabled()); - instant_ntp_prerenderer()->profile()->GetHostContentSettingsMap() - ->SetDefaultContentSetting(CONTENT_SETTINGS_TYPE_JAVASCRIPT, - CONTENT_SETTING_BLOCK); - EXPECT_FALSE(instant_ntp_prerenderer()->IsJavascriptEnabled()); -} - -TEST_F(InstantNTPPrerendererTest, IsJavascriptEnabledChecksPrefs) { - instant_ntp_prerenderer()->set_override_javascript_enabled(false); - instant_ntp_prerenderer()->profile()->GetPrefs()->SetBoolean( - prefs::kWebKitJavascriptEnabled, true); - EXPECT_TRUE(instant_ntp_prerenderer()->IsJavascriptEnabled()); - instant_ntp_prerenderer()->profile()->GetPrefs()->SetBoolean( - prefs::kWebKitJavascriptEnabled, false); - EXPECT_FALSE(instant_ntp_prerenderer()->IsJavascriptEnabled()); -} |