Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / search / instant_service_unittest.cc
index 418a1b6..760bb58 100644 (file)
@@ -29,7 +29,6 @@
 class MockInstantServiceObserver : public InstantServiceObserver {
  public:
   MOCK_METHOD0(DefaultSearchProviderChanged, void());
-  MOCK_METHOD0(GoogleURLUpdated, void());
   MOCK_METHOD1(OmniboxStartMarginChanged, void(int));
 };
 
@@ -58,24 +57,45 @@ class InstantServiceTest : public InstantUnitTestBase {
   scoped_ptr<MockInstantServiceObserver> instant_service_observer_;
 };
 
-TEST_F(InstantServiceTest, DispatchDefaultSearchProviderChanged) {
+class InstantServiceEnabledTest : public InstantServiceTest {
+ protected:
+  virtual void SetUp() OVERRIDE {
+    ASSERT_TRUE(base::FieldTrialList::CreateFieldTrial(
+        "EmbeddedSearch", "Group1 use_cacheable_ntp:1 prefetch_results:1"));
+    InstantServiceTest::SetUp();
+  }
+};
+
+TEST_F(InstantServiceEnabledTest, DispatchDefaultSearchProviderChanged) {
+  EXPECT_CALL(*instant_service_observer_.get(), DefaultSearchProviderChanged())
+      .Times(1);
+
+  const std::string new_base_url = "https://bar.com/";
+  SetUserSelectedDefaultSearchProvider(new_base_url);
+}
+
+TEST_F(InstantServiceTest, DontDispatchGoogleURLUpdatedForNonGoogleURLs) {
   EXPECT_CALL(*instant_service_observer_.get(), DefaultSearchProviderChanged())
       .Times(1);
+  const std::string new_dsp_url = "https://bar.com/";
+  SetUserSelectedDefaultSearchProvider(new_dsp_url);
+  testing::Mock::VerifyAndClearExpectations(instant_service_observer_.get());
 
-  const std::string& new_base_url = "https://bar.com/";
-  SetDefaultSearchProvider(new_base_url);
+  EXPECT_CALL(*instant_service_observer_.get(), DefaultSearchProviderChanged())
+      .Times(0);
+  const std::string new_base_url = "https://www.google.es/";
+  NotifyGoogleBaseURLUpdate(new_base_url);
 }
 
 TEST_F(InstantServiceTest, DispatchGoogleURLUpdated) {
-  EXPECT_CALL(*instant_service_observer_.get(), GoogleURLUpdated()).Times(1);
+  EXPECT_CALL(*instant_service_observer_.get(), DefaultSearchProviderChanged())
+      .Times(1);
 
-  const std::string& new_base_url = "https://www.google.es/";
+  const std::string new_base_url = "https://www.google.es/";
   NotifyGoogleBaseURLUpdate(new_base_url);
 }
 
-TEST_F(InstantServiceTest, SendsSearchURLsToRenderer) {
-  ASSERT_TRUE(base::FieldTrialList::CreateFieldTrial("EmbeddedSearch",
-      "Group1 use_cacheable_ntp:1"));
+TEST_F(InstantServiceEnabledTest, SendsSearchURLsToRenderer) {
   scoped_ptr<content::MockRenderProcessHost> rph(
       new content::MockRenderProcessHost(profile()));
   rph->sink().ClearMessages();
@@ -102,10 +122,8 @@ TEST_F(InstantServiceTest, InstantSearchDisabled) {
             GetInstantSearchPrerenderer());
 }
 
-TEST_F(InstantServiceTest,
+TEST_F(InstantServiceEnabledTest,
        ResetInstantSearchPrerenderer_DefaultProviderChanged) {
-  ASSERT_TRUE(base::FieldTrialList::CreateFieldTrial(
-      "EmbeddedSearch", "Group1 use_cacheable_ntp:1 prefetch_results:1"));
   EXPECT_CALL(*instant_service_observer_.get(), DefaultSearchProviderChanged())
       .Times(2);
 
@@ -115,30 +133,27 @@ TEST_F(InstantServiceTest,
   TemplateURL* template_url = new TemplateURL(profile(), data);
   // Takes ownership of |template_url|.
   template_url_service_->Add(template_url);
-  template_url_service_->SetDefaultSearchProvider(template_url);
+  template_url_service_->SetUserSelectedDefaultSearchProvider(template_url);
 
   EXPECT_EQ(static_cast<InstantSearchPrerenderer*>(NULL),
             GetInstantSearchPrerenderer());
 
   // Set a default search provider that supports Instant and make sure
   // InstantSearchPrerenderer is valid.
-  SetDefaultSearchProvider("https://google.com/");
+  SetUserSelectedDefaultSearchProvider("https://google.com/");
   EXPECT_NE(static_cast<InstantSearchPrerenderer*>(NULL),
             GetInstantSearchPrerenderer());
 }
 
-TEST_F(InstantServiceTest, ResetInstantSearchPrerenderer_GoogleBaseURLUpdated) {
-  ASSERT_TRUE(base::FieldTrialList::CreateFieldTrial(
-      "EmbeddedSearch", "Group1 use_cacheable_ntp:1 prefetch_results:1"));
+TEST_F(InstantServiceEnabledTest,
+       ResetInstantSearchPrerenderer_GoogleBaseURLUpdated) {
   EXPECT_CALL(*instant_service_observer_.get(), DefaultSearchProviderChanged())
       .Times(1);
-  EXPECT_CALL(*instant_service_observer_.get(), GoogleURLUpdated()).Times(1);
 
-  SetDefaultSearchProvider("https://google.com/");
   InstantSearchPrerenderer* old_prerenderer = GetInstantSearchPrerenderer();
-  EXPECT_NE(static_cast<InstantSearchPrerenderer*>(NULL), old_prerenderer);
+  EXPECT_TRUE(old_prerenderer != NULL);
 
-  const std::string& new_base_url = "https://www.google.es/";
+  const std::string new_base_url = "https://www.google.es/";
   NotifyGoogleBaseURLUpdate(new_base_url);
   EXPECT_NE(old_prerenderer, GetInstantSearchPrerenderer());
 }