| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 #include "chrome/browser/google/google_url_tracker.h" | 5 #include "chrome/browser/google/google_url_tracker.h" |
| 6 | 6 |
| 7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
| 8 #include "base/message_loop.h" | 8 #include "base/message_loop.h" |
| 9 #include "chrome/browser/browser_process.h" | 9 #include "chrome/browser/browser_process.h" |
| 10 #include "chrome/browser/prefs/browser_prefs.h" | 10 #include "chrome/browser/prefs/browser_prefs.h" |
| 11 #include "chrome/browser/profiles/profile.h" | |
| 12 #include "chrome/browser/tab_contents/confirm_infobar_delegate.h" | 11 #include "chrome/browser/tab_contents/confirm_infobar_delegate.h" |
| 13 #include "chrome/common/net/test_url_fetcher_factory.h" | 12 #include "chrome/common/net/test_url_fetcher_factory.h" |
| 14 #include "chrome/common/net/url_fetcher.h" | 13 #include "chrome/common/net/url_fetcher.h" |
| 15 #include "chrome/common/net/url_request_context_getter.h" | 14 #include "chrome/common/net/url_request_context_getter.h" |
| 16 #include "chrome/common/pref_names.h" | 15 #include "chrome/common/pref_names.h" |
| 17 #include "chrome/test/testing_browser_process.h" | 16 #include "chrome/test/testing_browser_process.h" |
| 18 #include "chrome/test/testing_pref_service.h" | 17 #include "chrome/test/testing_pref_service.h" |
| 19 #include "chrome/test/testing_profile.h" | |
| 20 #include "content/browser/browser_thread.h" | 18 #include "content/browser/browser_thread.h" |
| 21 #include "content/common/notification_service.h" | 19 #include "content/common/notification_service.h" |
| 22 #include "net/url_request/url_request.h" | 20 #include "net/url_request/url_request.h" |
| 23 #include "net/url_request/url_request_test_util.h" | 21 #include "net/url_request/url_request_test_util.h" |
| 24 #include "testing/gtest/include/gtest/gtest.h" | 22 #include "testing/gtest/include/gtest/gtest.h" |
| 25 | 23 |
| 26 // TestNotificationObserver --------------------------------------------------- | 24 // TestNotificationObserver --------------------------------------------------- |
| 27 | 25 |
| 28 namespace { | 26 namespace { |
| 29 | 27 |
| (...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 103 | 101 |
| 104 class GoogleURLTrackerTest : public testing::Test { | 102 class GoogleURLTrackerTest : public testing::Test { |
| 105 protected: | 103 protected: |
| 106 GoogleURLTrackerTest(); | 104 GoogleURLTrackerTest(); |
| 107 virtual ~GoogleURLTrackerTest(); | 105 virtual ~GoogleURLTrackerTest(); |
| 108 | 106 |
| 109 // testing::Test | 107 // testing::Test |
| 110 virtual void SetUp(); | 108 virtual void SetUp(); |
| 111 virtual void TearDown(); | 109 virtual void TearDown(); |
| 112 | 110 |
| 113 void CreateRequestContext(); | |
| 114 TestURLFetcher* GetFetcherByID(int expected_id); | 111 TestURLFetcher* GetFetcherByID(int expected_id); |
| 115 void MockSearchDomainCheckResponse(int expected_id, | 112 void MockSearchDomainCheckResponse(int expected_id, |
| 116 const std::string& domain); | 113 const std::string& domain); |
| 117 void RequestServerCheck(); | 114 void RequestServerCheck(); |
| 118 void FinishSleep(); | 115 void FinishSleep(); |
| 119 void NotifyIPAddressChanged(); | 116 void NotifyIPAddressChanged(); |
| 120 GURL GetFetchedGoogleURL(); | 117 GURL GetFetchedGoogleURL(); |
| 121 void SetGoogleURL(const GURL& url); | 118 void SetGoogleURL(const GURL& url); |
| 122 void SetLastPromptedGoogleURL(const GURL& url); | 119 void SetLastPromptedGoogleURL(const GURL& url); |
| 123 GURL GetLastPromptedGoogleURL(); | 120 GURL GetLastPromptedGoogleURL(); |
| 124 void SearchCommitted(const GURL& search_url); | 121 void SearchCommitted(const GURL& search_url); |
| 125 void NavEntryCommitted(); | 122 void NavEntryCommitted(); |
| 126 bool InfoBarIsShown(); | 123 bool InfoBarIsShown(); |
| 127 GURL GetInfoBarShowingURL(); | 124 GURL GetInfoBarShowingURL(); |
| 128 void AcceptGoogleURL(); | 125 void AcceptGoogleURL(); |
| 129 void CancelGoogleURL(); | 126 void CancelGoogleURL(); |
| 130 void InfoBarClosed(); | 127 void InfoBarClosed(); |
| 131 void ExpectDefaultURLs(); | 128 void ExpectDefaultURLs(); |
| 132 | 129 |
| 133 scoped_ptr<TestNotificationObserver> observer_; | 130 scoped_ptr<TestNotificationObserver> observer_; |
| 134 | 131 |
| 135 private: | 132 private: |
| 136 MessageLoop* message_loop_; | 133 MessageLoop* message_loop_; |
| 137 BrowserThread* io_thread_; | 134 BrowserThread* io_thread_; |
| 138 scoped_ptr<net::NetworkChangeNotifier> network_change_notifier_; | 135 scoped_ptr<net::NetworkChangeNotifier> network_change_notifier_; |
| 139 TestingPrefService local_state_; | 136 TestingPrefService local_state_; |
| 140 scoped_ptr<TestingProfile> testing_profile_; | |
| 141 | 137 |
| 142 TestURLFetcherFactory fetcher_factory_; | 138 TestURLFetcherFactory fetcher_factory_; |
| 143 NotificationRegistrar registrar_; | 139 NotificationRegistrar registrar_; |
| 144 | |
| 145 URLRequestContextGetter* original_default_request_context_; | |
| 146 }; | 140 }; |
| 147 | 141 |
| 148 GoogleURLTrackerTest::GoogleURLTrackerTest() | 142 GoogleURLTrackerTest::GoogleURLTrackerTest() |
| 149 : observer_(new TestNotificationObserver), | 143 : observer_(new TestNotificationObserver), |
| 150 message_loop_(NULL), | 144 message_loop_(NULL), |
| 151 io_thread_(NULL), | 145 io_thread_(NULL) { |
| 152 original_default_request_context_(NULL) { | |
| 153 } | 146 } |
| 154 | 147 |
| 155 GoogleURLTrackerTest::~GoogleURLTrackerTest() { | 148 GoogleURLTrackerTest::~GoogleURLTrackerTest() { |
| 156 } | 149 } |
| 157 | 150 |
| 158 void GoogleURLTrackerTest::SetUp() { | 151 void GoogleURLTrackerTest::SetUp() { |
| 159 original_default_request_context_ = Profile::GetDefaultRequestContext(); | |
| 160 Profile::set_default_request_context(NULL); | |
| 161 message_loop_ = new MessageLoop(MessageLoop::TYPE_IO); | 152 message_loop_ = new MessageLoop(MessageLoop::TYPE_IO); |
| 162 io_thread_ = new BrowserThread(BrowserThread::IO, message_loop_); | 153 io_thread_ = new BrowserThread(BrowserThread::IO, message_loop_); |
| 163 network_change_notifier_.reset(net::NetworkChangeNotifier::CreateMock()); | 154 network_change_notifier_.reset(net::NetworkChangeNotifier::CreateMock()); |
| 164 testing_profile_.reset(new TestingProfile); | |
| 165 browser::RegisterLocalState(&local_state_); | 155 browser::RegisterLocalState(&local_state_); |
| 166 TestingBrowserProcess* testing_browser_process = | 156 TestingBrowserProcess* testing_browser_process = |
| 167 static_cast<TestingBrowserProcess*>(g_browser_process); | 157 static_cast<TestingBrowserProcess*>(g_browser_process); |
| 168 testing_browser_process->SetPrefService(&local_state_); | 158 testing_browser_process->SetPrefService(&local_state_); |
| 169 GoogleURLTracker* tracker = new GoogleURLTracker; | 159 GoogleURLTracker* tracker = new GoogleURLTracker; |
| 170 tracker->queue_wakeup_task_ = false; | 160 tracker->queue_wakeup_task_ = false; |
| 171 MessageLoop::current()->RunAllPending(); | 161 MessageLoop::current()->RunAllPending(); |
| 172 testing_browser_process->SetGoogleURLTracker(tracker); | 162 testing_browser_process->SetGoogleURLTracker(tracker); |
| 173 | 163 |
| 174 URLFetcher::set_factory(&fetcher_factory_); | 164 URLFetcher::set_factory(&fetcher_factory_); |
| 175 g_browser_process->google_url_tracker()->infobar_creator_ = | 165 g_browser_process->google_url_tracker()->infobar_creator_ = |
| 176 &CreateTestInfobar; | 166 &CreateTestInfobar; |
| 177 } | 167 } |
| 178 | 168 |
| 179 void GoogleURLTrackerTest::TearDown() { | 169 void GoogleURLTrackerTest::TearDown() { |
| 180 URLFetcher::set_factory(NULL); | 170 URLFetcher::set_factory(NULL); |
| 181 TestingBrowserProcess* testing_browser_process = | 171 TestingBrowserProcess* testing_browser_process = |
| 182 static_cast<TestingBrowserProcess*>(g_browser_process); | 172 static_cast<TestingBrowserProcess*>(g_browser_process); |
| 183 testing_browser_process->SetGoogleURLTracker(NULL); | 173 testing_browser_process->SetGoogleURLTracker(NULL); |
| 184 testing_browser_process->SetPrefService(NULL); | 174 testing_browser_process->SetPrefService(NULL); |
| 185 testing_profile_.reset(); | |
| 186 network_change_notifier_.reset(); | 175 network_change_notifier_.reset(); |
| 187 delete io_thread_; | 176 delete io_thread_; |
| 188 delete message_loop_; | 177 delete message_loop_; |
| 189 Profile::set_default_request_context(original_default_request_context_); | |
| 190 original_default_request_context_ = NULL; | |
| 191 } | |
| 192 | |
| 193 void GoogleURLTrackerTest::CreateRequestContext() { | |
| 194 testing_profile_->CreateRequestContext(); | |
| 195 Profile::set_default_request_context(testing_profile_->GetRequestContext()); | |
| 196 NotificationService::current()->Notify( | |
| 197 NotificationType::DEFAULT_REQUEST_CONTEXT_AVAILABLE, | |
| 198 NotificationService::AllSources(), NotificationService::NoDetails()); | |
| 199 } | 178 } |
| 200 | 179 |
| 201 TestURLFetcher* GoogleURLTrackerTest::GetFetcherByID(int expected_id) { | 180 TestURLFetcher* GoogleURLTrackerTest::GetFetcherByID(int expected_id) { |
| 202 return fetcher_factory_.GetFetcherByID(expected_id); | 181 return fetcher_factory_.GetFetcherByID(expected_id); |
| 203 } | 182 } |
| 204 | 183 |
| 205 void GoogleURLTrackerTest::MockSearchDomainCheckResponse( | 184 void GoogleURLTrackerTest::MockSearchDomainCheckResponse( |
| 206 int expected_id, | 185 int expected_id, |
| 207 const std::string& domain) { | 186 const std::string& domain) { |
| 208 TestURLFetcher* fetcher = fetcher_factory_.GetFetcherByID(expected_id); | 187 TestURLFetcher* fetcher = fetcher_factory_.GetFetcherByID(expected_id); |
| (...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 309 void GoogleURLTrackerTest::ExpectDefaultURLs() { | 288 void GoogleURLTrackerTest::ExpectDefaultURLs() { |
| 310 EXPECT_EQ(GURL(GoogleURLTracker::kDefaultGoogleHomepage), | 289 EXPECT_EQ(GURL(GoogleURLTracker::kDefaultGoogleHomepage), |
| 311 GoogleURLTracker::GoogleURL()); | 290 GoogleURLTracker::GoogleURL()); |
| 312 EXPECT_EQ(GURL(), GetFetchedGoogleURL()); | 291 EXPECT_EQ(GURL(), GetFetchedGoogleURL()); |
| 313 } | 292 } |
| 314 | 293 |
| 315 | 294 |
| 316 // Tests ---------------------------------------------------------------------- | 295 // Tests ---------------------------------------------------------------------- |
| 317 | 296 |
| 318 TEST_F(GoogleURLTrackerTest, DontFetchWhenNoOneRequestsCheck) { | 297 TEST_F(GoogleURLTrackerTest, DontFetchWhenNoOneRequestsCheck) { |
| 319 CreateRequestContext(); | |
| 320 ExpectDefaultURLs(); | 298 ExpectDefaultURLs(); |
| 321 FinishSleep(); | 299 FinishSleep(); |
| 322 // No one called RequestServerCheck() so nothing should have happened. | 300 // No one called RequestServerCheck() so nothing should have happened. |
| 323 EXPECT_FALSE(GetFetcherByID(0)); | 301 EXPECT_FALSE(GetFetcherByID(0)); |
| 324 ExpectDefaultURLs(); | 302 ExpectDefaultURLs(); |
| 325 EXPECT_FALSE(observer_->notified()); | 303 EXPECT_FALSE(observer_->notified()); |
| 326 } | 304 } |
| 327 | 305 |
| 328 TEST_F(GoogleURLTrackerTest, UpdateOnFirstRun) { | 306 TEST_F(GoogleURLTrackerTest, UpdateOnFirstRun) { |
| 329 CreateRequestContext(); | |
| 330 RequestServerCheck(); | 307 RequestServerCheck(); |
| 331 EXPECT_FALSE(GetFetcherByID(0)); | 308 EXPECT_FALSE(GetFetcherByID(0)); |
| 332 ExpectDefaultURLs(); | 309 ExpectDefaultURLs(); |
| 333 EXPECT_FALSE(observer_->notified()); | 310 EXPECT_FALSE(observer_->notified()); |
| 334 | 311 |
| 335 FinishSleep(); | 312 FinishSleep(); |
| 336 MockSearchDomainCheckResponse(0, ".google.co.uk"); | 313 MockSearchDomainCheckResponse(0, ".google.co.uk"); |
| 337 EXPECT_EQ(GURL("http://www.google.co.uk/"), GetFetchedGoogleURL()); | 314 EXPECT_EQ(GURL("http://www.google.co.uk/"), GetFetchedGoogleURL()); |
| 338 // GoogleURL should be updated, becase there was no last prompted URL. | 315 // GoogleURL should be updated, becase there was no last prompted URL. |
| 339 EXPECT_EQ(GURL("http://www.google.co.uk/"), GoogleURLTracker::GoogleURL()); | 316 EXPECT_EQ(GURL("http://www.google.co.uk/"), GoogleURLTracker::GoogleURL()); |
| 340 EXPECT_TRUE(observer_->notified()); | 317 EXPECT_TRUE(observer_->notified()); |
| 341 } | 318 } |
| 342 | 319 |
| 343 TEST_F(GoogleURLTrackerTest, DontUpdateWhenUnchanged) { | 320 TEST_F(GoogleURLTrackerTest, DontUpdateWhenUnchanged) { |
| 344 CreateRequestContext(); | |
| 345 SetLastPromptedGoogleURL(GURL("http://www.google.co.uk/")); | 321 SetLastPromptedGoogleURL(GURL("http://www.google.co.uk/")); |
| 346 | 322 |
| 347 RequestServerCheck(); | 323 RequestServerCheck(); |
| 348 EXPECT_FALSE(GetFetcherByID(0)); | 324 EXPECT_FALSE(GetFetcherByID(0)); |
| 349 ExpectDefaultURLs(); | 325 ExpectDefaultURLs(); |
| 350 EXPECT_FALSE(observer_->notified()); | 326 EXPECT_FALSE(observer_->notified()); |
| 351 | 327 |
| 352 FinishSleep(); | 328 FinishSleep(); |
| 353 MockSearchDomainCheckResponse(0, ".google.co.uk"); | 329 MockSearchDomainCheckResponse(0, ".google.co.uk"); |
| 354 EXPECT_EQ(GURL("http://www.google.co.uk/"), GetFetchedGoogleURL()); | 330 EXPECT_EQ(GURL("http://www.google.co.uk/"), GetFetchedGoogleURL()); |
| 355 // GoogleURL should not be updated, because the fetched and prompted URLs | 331 // GoogleURL should not be updated, because the fetched and prompted URLs |
| 356 // match. | 332 // match. |
| 357 EXPECT_EQ(GURL(GoogleURLTracker::kDefaultGoogleHomepage), | 333 EXPECT_EQ(GURL(GoogleURLTracker::kDefaultGoogleHomepage), |
| 358 GoogleURLTracker::GoogleURL()); | 334 GoogleURLTracker::GoogleURL()); |
| 359 EXPECT_FALSE(observer_->notified()); | 335 EXPECT_FALSE(observer_->notified()); |
| 360 } | 336 } |
| 361 | 337 |
| 362 TEST_F(GoogleURLTrackerTest, UpdatePromptedURLOnReturnToPreviousLocation) { | 338 TEST_F(GoogleURLTrackerTest, UpdatePromptedURLOnReturnToPreviousLocation) { |
| 363 CreateRequestContext(); | |
| 364 SetLastPromptedGoogleURL(GURL("http://www.google.co.jp/")); | 339 SetLastPromptedGoogleURL(GURL("http://www.google.co.jp/")); |
| 365 SetGoogleURL(GURL("http://www.google.co.uk/")); | 340 SetGoogleURL(GURL("http://www.google.co.uk/")); |
| 366 RequestServerCheck(); | 341 RequestServerCheck(); |
| 367 FinishSleep(); | 342 FinishSleep(); |
| 368 MockSearchDomainCheckResponse(0, ".google.co.uk"); | 343 MockSearchDomainCheckResponse(0, ".google.co.uk"); |
| 369 EXPECT_EQ(GURL("http://www.google.co.uk/"), GetFetchedGoogleURL()); | 344 EXPECT_EQ(GURL("http://www.google.co.uk/"), GetFetchedGoogleURL()); |
| 370 EXPECT_EQ(GURL("http://www.google.co.uk/"), GoogleURLTracker::GoogleURL()); | 345 EXPECT_EQ(GURL("http://www.google.co.uk/"), GoogleURLTracker::GoogleURL()); |
| 371 EXPECT_EQ(GURL("http://www.google.co.uk/"), GetLastPromptedGoogleURL()); | 346 EXPECT_EQ(GURL("http://www.google.co.uk/"), GetLastPromptedGoogleURL()); |
| 372 EXPECT_FALSE(observer_->notified()); | 347 EXPECT_FALSE(observer_->notified()); |
| 373 } | 348 } |
| 374 | 349 |
| 375 TEST_F(GoogleURLTrackerTest, RefetchOnIPAddressChange) { | 350 TEST_F(GoogleURLTrackerTest, RefetchOnIPAddressChange) { |
| 376 CreateRequestContext(); | |
| 377 RequestServerCheck(); | 351 RequestServerCheck(); |
| 378 FinishSleep(); | 352 FinishSleep(); |
| 379 MockSearchDomainCheckResponse(0, ".google.co.uk"); | 353 MockSearchDomainCheckResponse(0, ".google.co.uk"); |
| 380 EXPECT_EQ(GURL("http://www.google.co.uk/"), GetFetchedGoogleURL()); | 354 EXPECT_EQ(GURL("http://www.google.co.uk/"), GetFetchedGoogleURL()); |
| 381 EXPECT_EQ(GURL("http://www.google.co.uk/"), GoogleURLTracker::GoogleURL()); | 355 EXPECT_EQ(GURL("http://www.google.co.uk/"), GoogleURLTracker::GoogleURL()); |
| 382 EXPECT_TRUE(observer_->notified()); | 356 EXPECT_TRUE(observer_->notified()); |
| 383 observer_->clear_notified(); | 357 observer_->clear_notified(); |
| 384 | 358 |
| 385 NotifyIPAddressChanged(); | 359 NotifyIPAddressChanged(); |
| 386 MockSearchDomainCheckResponse(1, ".google.co.in"); | 360 MockSearchDomainCheckResponse(1, ".google.co.in"); |
| 387 EXPECT_EQ(GURL("http://www.google.co.in/"), GetFetchedGoogleURL()); | 361 EXPECT_EQ(GURL("http://www.google.co.in/"), GetFetchedGoogleURL()); |
| 388 // Just fetching a new URL shouldn't reset things without a prompt. | 362 // Just fetching a new URL shouldn't reset things without a prompt. |
| 389 EXPECT_EQ(GURL("http://www.google.co.uk/"), GoogleURLTracker::GoogleURL()); | 363 EXPECT_EQ(GURL("http://www.google.co.uk/"), GoogleURLTracker::GoogleURL()); |
| 390 EXPECT_FALSE(observer_->notified()); | 364 EXPECT_FALSE(observer_->notified()); |
| 391 } | 365 } |
| 392 | 366 |
| 393 TEST_F(GoogleURLTrackerTest, DontRefetchWhenNoOneRequestsCheck) { | 367 TEST_F(GoogleURLTrackerTest, DontRefetchWhenNoOneRequestsCheck) { |
| 394 CreateRequestContext(); | |
| 395 FinishSleep(); | 368 FinishSleep(); |
| 396 NotifyIPAddressChanged(); | 369 NotifyIPAddressChanged(); |
| 397 // No one called RequestServerCheck() so nothing should have happened. | 370 // No one called RequestServerCheck() so nothing should have happened. |
| 398 EXPECT_FALSE(GetFetcherByID(0)); | 371 EXPECT_FALSE(GetFetcherByID(0)); |
| 399 ExpectDefaultURLs(); | 372 ExpectDefaultURLs(); |
| 400 EXPECT_FALSE(observer_->notified()); | 373 EXPECT_FALSE(observer_->notified()); |
| 401 } | 374 } |
| 402 | 375 |
| 403 TEST_F(GoogleURLTrackerTest, FetchOnLateRequest) { | 376 TEST_F(GoogleURLTrackerTest, FetchOnLateRequest) { |
| 404 CreateRequestContext(); | |
| 405 FinishSleep(); | 377 FinishSleep(); |
| 406 NotifyIPAddressChanged(); | 378 NotifyIPAddressChanged(); |
| 407 | 379 |
| 408 RequestServerCheck(); | 380 RequestServerCheck(); |
| 409 // The first request for a check should trigger a fetch if it hasn't happened | 381 // The first request for a check should trigger a fetch if it hasn't happened |
| 410 // already. | 382 // already. |
| 411 MockSearchDomainCheckResponse(0, ".google.co.uk"); | 383 MockSearchDomainCheckResponse(0, ".google.co.uk"); |
| 412 EXPECT_EQ(GURL("http://www.google.co.uk/"), GetFetchedGoogleURL()); | 384 EXPECT_EQ(GURL("http://www.google.co.uk/"), GetFetchedGoogleURL()); |
| 413 EXPECT_EQ(GURL("http://www.google.co.uk/"), GoogleURLTracker::GoogleURL()); | 385 EXPECT_EQ(GURL("http://www.google.co.uk/"), GoogleURLTracker::GoogleURL()); |
| 414 EXPECT_TRUE(observer_->notified()); | 386 EXPECT_TRUE(observer_->notified()); |
| 415 } | 387 } |
| 416 | 388 |
| 417 TEST_F(GoogleURLTrackerTest, SearchingDoesNothingIfNoNeedToPrompt) { | 389 TEST_F(GoogleURLTrackerTest, SearchingDoesNothingIfNoNeedToPrompt) { |
| 418 CreateRequestContext(); | |
| 419 RequestServerCheck(); | 390 RequestServerCheck(); |
| 420 FinishSleep(); | 391 FinishSleep(); |
| 421 MockSearchDomainCheckResponse(0, ".google.co.uk"); | 392 MockSearchDomainCheckResponse(0, ".google.co.uk"); |
| 422 EXPECT_EQ(GURL("http://www.google.co.uk/"), GetFetchedGoogleURL()); | 393 EXPECT_EQ(GURL("http://www.google.co.uk/"), GetFetchedGoogleURL()); |
| 423 EXPECT_EQ(GURL("http://www.google.co.uk/"), GoogleURLTracker::GoogleURL()); | 394 EXPECT_EQ(GURL("http://www.google.co.uk/"), GoogleURLTracker::GoogleURL()); |
| 424 EXPECT_EQ(GURL("http://www.google.co.uk/"), GetLastPromptedGoogleURL()); | 395 EXPECT_EQ(GURL("http://www.google.co.uk/"), GetLastPromptedGoogleURL()); |
| 425 EXPECT_TRUE(observer_->notified()); | 396 EXPECT_TRUE(observer_->notified()); |
| 426 observer_->clear_notified(); | 397 observer_->clear_notified(); |
| 427 | 398 |
| 428 SearchCommitted(GURL("http://www.google.co.uk/search?q=test")); | 399 SearchCommitted(GURL("http://www.google.co.uk/search?q=test")); |
| 429 NavEntryCommitted(); | 400 NavEntryCommitted(); |
| 430 EXPECT_FALSE(InfoBarIsShown()); | 401 EXPECT_FALSE(InfoBarIsShown()); |
| 431 EXPECT_EQ(GURL("http://www.google.co.uk/"), GetFetchedGoogleURL()); | 402 EXPECT_EQ(GURL("http://www.google.co.uk/"), GetFetchedGoogleURL()); |
| 432 EXPECT_EQ(GURL("http://www.google.co.uk/"), GoogleURLTracker::GoogleURL()); | 403 EXPECT_EQ(GURL("http://www.google.co.uk/"), GoogleURLTracker::GoogleURL()); |
| 433 EXPECT_EQ(GURL("http://www.google.co.uk/"), GetLastPromptedGoogleURL()); | 404 EXPECT_EQ(GURL("http://www.google.co.uk/"), GetLastPromptedGoogleURL()); |
| 434 EXPECT_FALSE(observer_->notified()); | 405 EXPECT_FALSE(observer_->notified()); |
| 435 } | 406 } |
| 436 | 407 |
| 437 TEST_F(GoogleURLTrackerTest, InfobarClosed) { | 408 TEST_F(GoogleURLTrackerTest, InfobarClosed) { |
| 438 CreateRequestContext(); | |
| 439 SetLastPromptedGoogleURL(GURL("http://www.google.co.uk/")); | 409 SetLastPromptedGoogleURL(GURL("http://www.google.co.uk/")); |
| 440 RequestServerCheck(); | 410 RequestServerCheck(); |
| 441 FinishSleep(); | 411 FinishSleep(); |
| 442 MockSearchDomainCheckResponse(0, ".google.co.jp"); | 412 MockSearchDomainCheckResponse(0, ".google.co.jp"); |
| 443 | 413 |
| 444 SearchCommitted(GURL("http://www.google.co.uk/search?q=test")); | 414 SearchCommitted(GURL("http://www.google.co.uk/search?q=test")); |
| 445 NavEntryCommitted(); | 415 NavEntryCommitted(); |
| 446 EXPECT_TRUE(InfoBarIsShown()); | 416 EXPECT_TRUE(InfoBarIsShown()); |
| 447 | 417 |
| 448 InfoBarClosed(); | 418 InfoBarClosed(); |
| 449 EXPECT_FALSE(InfoBarIsShown()); | 419 EXPECT_FALSE(InfoBarIsShown()); |
| 450 EXPECT_EQ(GURL(GoogleURLTracker::kDefaultGoogleHomepage), | 420 EXPECT_EQ(GURL(GoogleURLTracker::kDefaultGoogleHomepage), |
| 451 GoogleURLTracker::GoogleURL()); | 421 GoogleURLTracker::GoogleURL()); |
| 452 EXPECT_EQ(GURL("http://www.google.co.uk/"), GetLastPromptedGoogleURL()); | 422 EXPECT_EQ(GURL("http://www.google.co.uk/"), GetLastPromptedGoogleURL()); |
| 453 EXPECT_FALSE(observer_->notified()); | 423 EXPECT_FALSE(observer_->notified()); |
| 454 } | 424 } |
| 455 | 425 |
| 456 TEST_F(GoogleURLTrackerTest, InfobarRefused) { | 426 TEST_F(GoogleURLTrackerTest, InfobarRefused) { |
| 457 CreateRequestContext(); | |
| 458 SetLastPromptedGoogleURL(GURL("http://www.google.co.uk/")); | 427 SetLastPromptedGoogleURL(GURL("http://www.google.co.uk/")); |
| 459 RequestServerCheck(); | 428 RequestServerCheck(); |
| 460 FinishSleep(); | 429 FinishSleep(); |
| 461 MockSearchDomainCheckResponse(0, ".google.co.jp"); | 430 MockSearchDomainCheckResponse(0, ".google.co.jp"); |
| 462 | 431 |
| 463 SearchCommitted(GURL("http://www.google.co.uk/search?q=test")); | 432 SearchCommitted(GURL("http://www.google.co.uk/search?q=test")); |
| 464 NavEntryCommitted(); | 433 NavEntryCommitted(); |
| 465 EXPECT_TRUE(InfoBarIsShown()); | 434 EXPECT_TRUE(InfoBarIsShown()); |
| 466 | 435 |
| 467 CancelGoogleURL(); | 436 CancelGoogleURL(); |
| 468 InfoBarClosed(); | 437 InfoBarClosed(); |
| 469 EXPECT_FALSE(InfoBarIsShown()); | 438 EXPECT_FALSE(InfoBarIsShown()); |
| 470 EXPECT_EQ(GURL(GoogleURLTracker::kDefaultGoogleHomepage), | 439 EXPECT_EQ(GURL(GoogleURLTracker::kDefaultGoogleHomepage), |
| 471 GoogleURLTracker::GoogleURL()); | 440 GoogleURLTracker::GoogleURL()); |
| 472 EXPECT_EQ(GURL("http://www.google.co.jp/"), GetLastPromptedGoogleURL()); | 441 EXPECT_EQ(GURL("http://www.google.co.jp/"), GetLastPromptedGoogleURL()); |
| 473 EXPECT_FALSE(observer_->notified()); | 442 EXPECT_FALSE(observer_->notified()); |
| 474 } | 443 } |
| 475 | 444 |
| 476 TEST_F(GoogleURLTrackerTest, InfobarAccepted) { | 445 TEST_F(GoogleURLTrackerTest, InfobarAccepted) { |
| 477 CreateRequestContext(); | |
| 478 SetLastPromptedGoogleURL(GURL("http://www.google.co.uk/")); | 446 SetLastPromptedGoogleURL(GURL("http://www.google.co.uk/")); |
| 479 RequestServerCheck(); | 447 RequestServerCheck(); |
| 480 FinishSleep(); | 448 FinishSleep(); |
| 481 MockSearchDomainCheckResponse(0, ".google.co.jp"); | 449 MockSearchDomainCheckResponse(0, ".google.co.jp"); |
| 482 | 450 |
| 483 SearchCommitted(GURL("http://www.google.co.uk/search?q=test")); | 451 SearchCommitted(GURL("http://www.google.co.uk/search?q=test")); |
| 484 NavEntryCommitted(); | 452 NavEntryCommitted(); |
| 485 EXPECT_TRUE(InfoBarIsShown()); | 453 EXPECT_TRUE(InfoBarIsShown()); |
| 486 | 454 |
| 487 AcceptGoogleURL(); | 455 AcceptGoogleURL(); |
| 488 InfoBarClosed(); | 456 InfoBarClosed(); |
| 489 EXPECT_FALSE(InfoBarIsShown()); | 457 EXPECT_FALSE(InfoBarIsShown()); |
| 490 EXPECT_EQ(GURL("http://www.google.co.jp/"), GoogleURLTracker::GoogleURL()); | 458 EXPECT_EQ(GURL("http://www.google.co.jp/"), GoogleURLTracker::GoogleURL()); |
| 491 EXPECT_EQ(GURL("http://www.google.co.jp/"), GetLastPromptedGoogleURL()); | 459 EXPECT_EQ(GURL("http://www.google.co.jp/"), GetLastPromptedGoogleURL()); |
| 492 EXPECT_TRUE(observer_->notified()); | 460 EXPECT_TRUE(observer_->notified()); |
| 493 } | 461 } |
| OLD | NEW |