Index: components/google/core/browser/google_url_tracker_unittest.cc |
diff --git a/components/google/core/browser/google_url_tracker_unittest.cc b/components/google/core/browser/google_url_tracker_unittest.cc |
index 184468a7977ae1319e0cd1a91de9516d3119ab41..a89ddedbb2877c29eac1a2b6dbe07a3a5cf1d648 100644 |
--- a/components/google/core/browser/google_url_tracker_unittest.cc |
+++ b/components/google/core/browser/google_url_tracker_unittest.cc |
@@ -4,7 +4,6 @@ |
#include "components/google/core/browser/google_url_tracker.h" |
-#include <set> |
#include <string> |
#include "base/memory/scoped_ptr.h" |
@@ -14,11 +13,6 @@ |
#include "base/prefs/testing_pref_service.h" |
#include "components/google/core/browser/google_pref_names.h" |
#include "components/google/core/browser/google_url_tracker_client.h" |
-#include "components/google/core/browser/google_url_tracker_infobar_delegate.h" |
-#include "components/google/core/browser/google_url_tracker_navigation_helper.h" |
-#include "components/infobars/core/confirm_infobar_delegate.h" |
-#include "components/infobars/core/infobar.h" |
-#include "components/infobars/core/infobar_delegate.h" |
#include "net/url_request/test_url_fetcher_factory.h" |
#include "net/url_request/url_fetcher.h" |
#include "net/url_request/url_request_test_util.h" |
@@ -75,8 +69,6 @@ class TestGoogleURLTrackerClient : public GoogleURLTrackerClient { |
explicit TestGoogleURLTrackerClient(PrefService* prefs_); |
~TestGoogleURLTrackerClient() override; |
- void SetListeningForNavigationStart(bool listen) override; |
- bool IsListeningForNavigationStart() override; |
bool IsBackgroundNetworkingEnabled() override; |
PrefService* GetPrefs() override; |
net::URLRequestContextGetter* GetRequestContext() override; |
@@ -84,7 +76,6 @@ class TestGoogleURLTrackerClient : public GoogleURLTrackerClient { |
private: |
PrefService* prefs_; |
scoped_refptr<net::TestURLRequestContextGetter> request_context_; |
- bool observe_nav_start_; |
DISALLOW_COPY_AND_ASSIGN(TestGoogleURLTrackerClient); |
}; |
@@ -92,21 +83,12 @@ class TestGoogleURLTrackerClient : public GoogleURLTrackerClient { |
TestGoogleURLTrackerClient::TestGoogleURLTrackerClient(PrefService* prefs) |
: prefs_(prefs), |
request_context_(new net::TestURLRequestContextGetter( |
- base::MessageLoopProxy::current())), |
- observe_nav_start_(false) { |
+ base::MessageLoopProxy::current())) { |
} |
TestGoogleURLTrackerClient::~TestGoogleURLTrackerClient() { |
} |
-void TestGoogleURLTrackerClient::SetListeningForNavigationStart(bool listen) { |
- observe_nav_start_ = listen; |
-} |
- |
-bool TestGoogleURLTrackerClient::IsListeningForNavigationStart() { |
- return observe_nav_start_; |
-} |
- |
bool TestGoogleURLTrackerClient::IsBackgroundNetworkingEnabled() { |
return true; |
} |
@@ -120,96 +102,6 @@ net::URLRequestContextGetter* TestGoogleURLTrackerClient::GetRequestContext() { |
} |
-// TestGoogleURLTrackerNavigationHelper --------------------------------------- |
- |
-class TestGoogleURLTrackerNavigationHelper |
- : public GoogleURLTrackerNavigationHelper { |
- public: |
- explicit TestGoogleURLTrackerNavigationHelper(GoogleURLTracker* tracker); |
- ~TestGoogleURLTrackerNavigationHelper() override; |
- |
- void SetListeningForNavigationCommit(bool listen) override; |
- bool IsListeningForNavigationCommit() override; |
- void SetListeningForTabDestruction(bool listen) override; |
- bool IsListeningForTabDestruction() override; |
- void OpenURL(GURL url, |
- WindowOpenDisposition disposition, |
- bool user_clicked_on_link) override; |
- |
- private: |
- bool listening_for_nav_commit_; |
- bool listening_for_tab_destruction_; |
- |
- DISALLOW_COPY_AND_ASSIGN(TestGoogleURLTrackerNavigationHelper); |
-}; |
- |
-TestGoogleURLTrackerNavigationHelper::TestGoogleURLTrackerNavigationHelper( |
- GoogleURLTracker* tracker) |
- : GoogleURLTrackerNavigationHelper(tracker), |
- listening_for_nav_commit_(false), |
- listening_for_tab_destruction_(false) { |
-} |
- |
-TestGoogleURLTrackerNavigationHelper::~TestGoogleURLTrackerNavigationHelper() { |
-} |
- |
-void TestGoogleURLTrackerNavigationHelper::SetListeningForNavigationCommit( |
- bool listen) { |
- listening_for_nav_commit_ = listen; |
-} |
- |
-bool TestGoogleURLTrackerNavigationHelper::IsListeningForNavigationCommit() { |
- return listening_for_nav_commit_; |
-} |
- |
-void TestGoogleURLTrackerNavigationHelper::SetListeningForTabDestruction( |
- bool listen) { |
- listening_for_tab_destruction_ = listen; |
-} |
- |
-bool TestGoogleURLTrackerNavigationHelper::IsListeningForTabDestruction() { |
- return listening_for_tab_destruction_; |
-} |
- |
-void TestGoogleURLTrackerNavigationHelper::OpenURL( |
- GURL url, |
- WindowOpenDisposition disposition, |
- bool user_clicked_on_link) { |
-} |
- |
-// TestInfoBarManager --------------------------------------------------------- |
- |
-class TestInfoBarManager : public infobars::InfoBarManager { |
- public: |
- explicit TestInfoBarManager(int unique_id); |
- ~TestInfoBarManager() override; |
- int GetActiveEntryID() override; |
- |
- private: |
- // infobars::InfoBarManager: |
- scoped_ptr<infobars::InfoBar> CreateConfirmInfoBar( |
- scoped_ptr<ConfirmInfoBarDelegate> delegate) override; |
- |
- int unique_id_; |
- DISALLOW_COPY_AND_ASSIGN(TestInfoBarManager); |
-}; |
- |
-TestInfoBarManager::TestInfoBarManager(int unique_id) : unique_id_(unique_id) { |
-} |
- |
-TestInfoBarManager::~TestInfoBarManager() { |
- ShutDown(); |
-} |
- |
-int TestInfoBarManager::GetActiveEntryID() { |
- return unique_id_; |
-} |
- |
-scoped_ptr<infobars::InfoBar> TestInfoBarManager::CreateConfirmInfoBar( |
- scoped_ptr<ConfirmInfoBarDelegate> delegate) { |
- return make_scoped_ptr(new infobars::InfoBar(delegate.Pass())); |
-} |
- |
} // namespace |
// GoogleURLTrackerTest ------------------------------------------------------- |
@@ -228,30 +120,10 @@ class GoogleURLTrackerTest : public testing::Test { |
void RequestServerCheck(); |
void FinishSleep(); |
void NotifyNetworkChanged(); |
- GURL fetched_google_url() const { |
- return google_url_tracker_->fetched_google_url(); |
- } |
void set_google_url(const GURL& url) { |
google_url_tracker_->google_url_ = url; |
} |
GURL google_url() const { return google_url_tracker_->google_url(); } |
- void SetLastPromptedGoogleURL(const GURL& url); |
- GURL GetLastPromptedGoogleURL(); |
- void SetNavigationPending(infobars::InfoBarManager* infobar_manager, |
- bool is_search); |
- void CommitNonSearch(infobars::InfoBarManager* infobar_manager); |
- void CommitSearch(infobars::InfoBarManager* infobar_manager, |
- const GURL& search_url); |
- void CloseTab(infobars::InfoBarManager* infobar_manager); |
- GoogleURLTrackerMapEntry* GetMapEntry( |
- infobars::InfoBarManager* infobar_manager); |
- GoogleURLTrackerInfoBarDelegate* GetInfoBarDelegate( |
- infobars::InfoBarManager* infobar_manager); |
- GoogleURLTrackerNavigationHelper* GetNavigationHelper( |
- infobars::InfoBarManager* infobar_manager); |
- void ExpectDefaultURLs() const; |
- void ExpectListeningForCommit(infobars::InfoBarManager* infobar_manager, |
- bool listening); |
bool listener_notified() const { return listener_.notified(); } |
void clear_listener_notified() { listener_.clear_notified(); } |
@@ -266,18 +138,12 @@ class GoogleURLTrackerTest : public testing::Test { |
GoogleURLTrackerClient* client_; |
scoped_ptr<GoogleURLTracker> google_url_tracker_; |
TestCallbackListener listener_; |
- // This tracks the different "tabs" a test has "opened", so we can close them |
- // properly before shutting down |google_url_tracker_|, which expects that. |
- std::set<infobars::InfoBarManager*> infobar_managers_seen_; |
}; |
GoogleURLTrackerTest::GoogleURLTrackerTest() { |
prefs_.registry()->RegisterStringPref( |
prefs::kLastKnownGoogleURL, |
GoogleURLTracker::kDefaultGoogleHomepage); |
- prefs_.registry()->RegisterStringPref( |
- prefs::kLastPromptedGoogleURL, |
- std::string()); |
} |
GoogleURLTrackerTest::~GoogleURLTrackerTest() { |
@@ -294,8 +160,6 @@ void GoogleURLTrackerTest::SetUp() { |
} |
void GoogleURLTrackerTest::TearDown() { |
- while (!infobar_managers_seen_.empty()) |
- CloseTab(*infobar_managers_seen_.begin()); |
google_url_tracker_->Shutdown(); |
} |
@@ -336,276 +200,104 @@ void GoogleURLTrackerTest::NotifyNetworkChanged() { |
base::MessageLoop::current()->RunUntilIdle(); |
} |
-void GoogleURLTrackerTest::SetLastPromptedGoogleURL(const GURL& url) { |
- prefs_.SetString(prefs::kLastPromptedGoogleURL, url.spec()); |
-} |
- |
-GURL GoogleURLTrackerTest::GetLastPromptedGoogleURL() { |
- return GURL(prefs_.GetString(prefs::kLastPromptedGoogleURL)); |
-} |
- |
-void GoogleURLTrackerTest::SetNavigationPending( |
- infobars::InfoBarManager* infobar_manager, |
- bool is_search) { |
- if (is_search) { |
- google_url_tracker_->SearchCommitted(); |
- // Note that the call above might not have actually registered a listener |
- // for navigation starts if the searchdomaincheck response was bogus. |
- } |
- infobar_managers_seen_.insert(infobar_manager); |
- if (client_->IsListeningForNavigationStart()) { |
- google_url_tracker_->OnNavigationPending( |
- scoped_ptr<GoogleURLTrackerNavigationHelper>( |
- new TestGoogleURLTrackerNavigationHelper( |
- google_url_tracker_.get())), |
- infobar_manager, |
- infobar_manager->GetActiveEntryID()); |
- } |
-} |
- |
-void GoogleURLTrackerTest::CommitNonSearch( |
- infobars::InfoBarManager* infobar_manager) { |
- GoogleURLTrackerMapEntry* map_entry = GetMapEntry(infobar_manager); |
- if (!map_entry) |
- return; |
- |
- ExpectListeningForCommit(infobar_manager, false); |
- |
- // The infobar should be showing; otherwise the pending non-search should |
- // have closed it. |
- ASSERT_TRUE(map_entry->has_infobar_delegate()); |
- |
- // The pending_id should have been reset to 0 when the non-search became |
- // pending. |
- EXPECT_EQ(0, map_entry->infobar_delegate()->pending_id()); |
- |
- // Committing the navigation would close the infobar. |
- map_entry->infobar_delegate()->Close(false); |
-} |
- |
-void GoogleURLTrackerTest::CommitSearch( |
- infobars::InfoBarManager* infobar_manager, |
- const GURL& search_url) { |
- DCHECK(search_url.is_valid()); |
- GoogleURLTrackerNavigationHelper* nav_helper = |
- GetNavigationHelper(infobar_manager); |
- if (nav_helper && nav_helper->IsListeningForNavigationCommit()) { |
- google_url_tracker_->OnNavigationCommitted(infobar_manager, search_url); |
- } |
-} |
- |
-void GoogleURLTrackerTest::CloseTab(infobars::InfoBarManager* infobar_manager) { |
- infobar_managers_seen_.erase(infobar_manager); |
- GoogleURLTrackerNavigationHelper* nav_helper = |
- GetNavigationHelper(infobar_manager); |
- if (nav_helper && nav_helper->IsListeningForTabDestruction()) { |
- google_url_tracker_->OnTabClosed(nav_helper); |
- } else { |
- // Closing a tab with an infobar showing would close the infobar. |
- GoogleURLTrackerInfoBarDelegate* delegate = |
- GetInfoBarDelegate(infobar_manager); |
- if (delegate) |
- delegate->Close(false); |
- } |
-} |
- |
-GoogleURLTrackerMapEntry* GoogleURLTrackerTest::GetMapEntry( |
- infobars::InfoBarManager* infobar_manager) { |
- GoogleURLTracker::EntryMap::const_iterator i = |
- google_url_tracker_->entry_map_.find(infobar_manager); |
- return (i == google_url_tracker_->entry_map_.end()) ? NULL : i->second; |
-} |
- |
-GoogleURLTrackerInfoBarDelegate* GoogleURLTrackerTest::GetInfoBarDelegate( |
- infobars::InfoBarManager* infobar_manager) { |
- GoogleURLTrackerMapEntry* map_entry = GetMapEntry(infobar_manager); |
- return map_entry ? map_entry->infobar_delegate() : NULL; |
-} |
- |
-GoogleURLTrackerNavigationHelper* GoogleURLTrackerTest::GetNavigationHelper( |
- infobars::InfoBarManager* infobar_manager) { |
- GoogleURLTrackerMapEntry* map_entry = GetMapEntry(infobar_manager); |
- return map_entry ? map_entry->navigation_helper() : NULL; |
-} |
- |
-void GoogleURLTrackerTest::ExpectDefaultURLs() const { |
- EXPECT_EQ(GURL(GoogleURLTracker::kDefaultGoogleHomepage), google_url()); |
- EXPECT_EQ(GURL(), fetched_google_url()); |
-} |
- |
-void GoogleURLTrackerTest::ExpectListeningForCommit( |
- infobars::InfoBarManager* infobar_manager, |
- bool listening) { |
- GoogleURLTrackerMapEntry* map_entry = GetMapEntry(infobar_manager); |
- if (map_entry) { |
- EXPECT_EQ(listening, |
- map_entry->navigation_helper()->IsListeningForNavigationCommit()); |
- } else { |
- EXPECT_FALSE(listening); |
- } |
-} |
- |
// Tests ---------------------------------------------------------------------- |
TEST_F(GoogleURLTrackerTest, DontFetchWhenNoOneRequestsCheck) { |
- ExpectDefaultURLs(); |
+ EXPECT_EQ(GURL(GoogleURLTracker::kDefaultGoogleHomepage), google_url()); |
FinishSleep(); |
// No one called RequestServerCheck() so nothing should have happened. |
EXPECT_FALSE(GetFetcher()); |
MockSearchDomainCheckResponse("http://www.google.co.uk/"); |
- ExpectDefaultURLs(); |
+ EXPECT_EQ(GURL(GoogleURLTracker::kDefaultGoogleHomepage), google_url()); |
EXPECT_FALSE(listener_notified()); |
} |
-TEST_F(GoogleURLTrackerTest, UpdateOnFirstRun) { |
+TEST_F(GoogleURLTrackerTest, Update) { |
RequestServerCheck(); |
EXPECT_FALSE(GetFetcher()); |
- ExpectDefaultURLs(); |
+ EXPECT_EQ(GURL(GoogleURLTracker::kDefaultGoogleHomepage), google_url()); |
EXPECT_FALSE(listener_notified()); |
FinishSleep(); |
MockSearchDomainCheckResponse("http://www.google.co.uk/"); |
- EXPECT_EQ(GURL("http://www.google.co.uk/"), fetched_google_url()); |
- // GoogleURL should be updated, becase there was no last prompted URL. |
EXPECT_EQ(GURL("http://www.google.co.uk/"), google_url()); |
EXPECT_TRUE(listener_notified()); |
} |
TEST_F(GoogleURLTrackerTest, DontUpdateWhenUnchanged) { |
- SetLastPromptedGoogleURL(GURL("http://www.google.co.uk/")); |
+ GURL original_google_url("http://www.google.co.uk/"); |
+ set_google_url(original_google_url); |
RequestServerCheck(); |
EXPECT_FALSE(GetFetcher()); |
- ExpectDefaultURLs(); |
+ EXPECT_EQ(original_google_url, google_url()); |
EXPECT_FALSE(listener_notified()); |
FinishSleep(); |
- MockSearchDomainCheckResponse("http://www.google.co.uk/"); |
- EXPECT_EQ(GURL("http://www.google.co.uk/"), fetched_google_url()); |
- // GoogleURL should not be updated, because the fetched and prompted URLs |
- // match. |
- EXPECT_EQ(GURL(GoogleURLTracker::kDefaultGoogleHomepage), google_url()); |
+ MockSearchDomainCheckResponse(original_google_url.spec()); |
+ EXPECT_EQ(original_google_url, google_url()); |
+ // No one should be notified, because the new URL matches the old. |
EXPECT_FALSE(listener_notified()); |
} |
TEST_F(GoogleURLTrackerTest, DontPromptOnBadReplies) { |
- TestInfoBarManager infobar_manager(1); |
- SetLastPromptedGoogleURL(GURL("http://www.google.co.uk/")); |
+ GURL original_google_url("http://www.google.co.uk/"); |
+ set_google_url(original_google_url); |
RequestServerCheck(); |
EXPECT_FALSE(GetFetcher()); |
- ExpectDefaultURLs(); |
+ EXPECT_EQ(original_google_url, google_url()); |
EXPECT_FALSE(listener_notified()); |
// Old-style domain string. |
FinishSleep(); |
MockSearchDomainCheckResponse(".google.co.in"); |
- EXPECT_EQ(GURL(), fetched_google_url()); |
- EXPECT_EQ(GURL(GoogleURLTracker::kDefaultGoogleHomepage), google_url()); |
+ EXPECT_EQ(original_google_url, google_url()); |
EXPECT_FALSE(listener_notified()); |
- SetNavigationPending(&infobar_manager, true); |
- CommitSearch(&infobar_manager, GURL("http://www.google.co.uk/search?q=test")); |
- EXPECT_TRUE(GetMapEntry(&infobar_manager) == NULL); |
// Bad subdomain. |
NotifyNetworkChanged(); |
MockSearchDomainCheckResponse("http://mail.google.com/"); |
- EXPECT_EQ(GURL(), fetched_google_url()); |
- EXPECT_EQ(GURL(GoogleURLTracker::kDefaultGoogleHomepage), google_url()); |
+ EXPECT_EQ(original_google_url, google_url()); |
EXPECT_FALSE(listener_notified()); |
- SetNavigationPending(&infobar_manager, true); |
- CommitSearch(&infobar_manager, GURL("http://www.google.co.uk/search?q=test")); |
- EXPECT_TRUE(GetMapEntry(&infobar_manager) == NULL); |
// Non-empty path. |
NotifyNetworkChanged(); |
MockSearchDomainCheckResponse("http://www.google.com/search"); |
- EXPECT_EQ(GURL(), fetched_google_url()); |
- EXPECT_EQ(GURL(GoogleURLTracker::kDefaultGoogleHomepage), google_url()); |
+ EXPECT_EQ(original_google_url, google_url()); |
EXPECT_FALSE(listener_notified()); |
- SetNavigationPending(&infobar_manager, true); |
- CommitSearch(&infobar_manager, GURL("http://www.google.co.uk/search?q=test")); |
- EXPECT_TRUE(GetMapEntry(&infobar_manager) == NULL); |
// Non-empty query. |
NotifyNetworkChanged(); |
MockSearchDomainCheckResponse("http://www.google.com/?q=foo"); |
- EXPECT_EQ(GURL(), fetched_google_url()); |
- EXPECT_EQ(GURL(GoogleURLTracker::kDefaultGoogleHomepage), google_url()); |
+ EXPECT_EQ(original_google_url, google_url()); |
EXPECT_FALSE(listener_notified()); |
- SetNavigationPending(&infobar_manager, true); |
- CommitSearch(&infobar_manager, GURL("http://www.google.co.uk/search?q=test")); |
- EXPECT_TRUE(GetMapEntry(&infobar_manager) == NULL); |
// Non-empty ref. |
NotifyNetworkChanged(); |
MockSearchDomainCheckResponse("http://www.google.com/#anchor"); |
- EXPECT_EQ(GURL(), fetched_google_url()); |
- EXPECT_EQ(GURL(GoogleURLTracker::kDefaultGoogleHomepage), google_url()); |
+ EXPECT_EQ(original_google_url, google_url()); |
EXPECT_FALSE(listener_notified()); |
- SetNavigationPending(&infobar_manager, true); |
- CommitSearch(&infobar_manager, GURL("http://www.google.co.uk/search?q=test")); |
- EXPECT_TRUE(GetMapEntry(&infobar_manager) == NULL); |
// Complete garbage. |
NotifyNetworkChanged(); |
MockSearchDomainCheckResponse("HJ)*qF)_*&@f1"); |
- EXPECT_EQ(GURL(), fetched_google_url()); |
- EXPECT_EQ(GURL(GoogleURLTracker::kDefaultGoogleHomepage), google_url()); |
+ EXPECT_EQ(original_google_url, google_url()); |
EXPECT_FALSE(listener_notified()); |
- SetNavigationPending(&infobar_manager, true); |
- CommitSearch(&infobar_manager, GURL("http://www.google.co.uk/search?q=test")); |
- EXPECT_TRUE(GetMapEntry(&infobar_manager) == NULL); |
-} |
- |
-TEST_F(GoogleURLTrackerTest, UpdatePromptedURLOnReturnToPreviousLocation) { |
- SetLastPromptedGoogleURL(GURL("http://www.google.co.jp/")); |
- set_google_url(GURL("http://www.google.co.uk/")); |
- RequestServerCheck(); |
- FinishSleep(); |
- MockSearchDomainCheckResponse("http://www.google.co.uk/"); |
- EXPECT_EQ(GURL("http://www.google.co.uk/"), fetched_google_url()); |
- EXPECT_EQ(GURL("http://www.google.co.uk/"), google_url()); |
- EXPECT_EQ(GURL("http://www.google.co.uk/"), GetLastPromptedGoogleURL()); |
- EXPECT_FALSE(listener_notified()); |
-} |
- |
-TEST_F(GoogleURLTrackerTest, SilentlyAcceptSchemeChange) { |
- // We should auto-accept changes to the current Google URL that merely change |
- // the scheme, regardless of what the last prompted URL was. |
- SetLastPromptedGoogleURL(GURL("http://www.google.co.jp/")); |
- set_google_url(GURL("http://www.google.co.uk/")); |
- RequestServerCheck(); |
- FinishSleep(); |
- MockSearchDomainCheckResponse("https://www.google.co.uk/"); |
- EXPECT_EQ(GURL("https://www.google.co.uk/"), fetched_google_url()); |
- EXPECT_EQ(GURL("https://www.google.co.uk/"), google_url()); |
- EXPECT_EQ(GURL("https://www.google.co.uk/"), GetLastPromptedGoogleURL()); |
- EXPECT_TRUE(listener_notified()); |
- |
- NotifyNetworkChanged(); |
- MockSearchDomainCheckResponse("http://www.google.co.uk/"); |
- EXPECT_EQ(GURL("http://www.google.co.uk/"), fetched_google_url()); |
- EXPECT_EQ(GURL("http://www.google.co.uk/"), google_url()); |
- EXPECT_EQ(GURL("http://www.google.co.uk/"), GetLastPromptedGoogleURL()); |
- EXPECT_TRUE(listener_notified()); |
} |
TEST_F(GoogleURLTrackerTest, RefetchOnNetworkChange) { |
RequestServerCheck(); |
FinishSleep(); |
MockSearchDomainCheckResponse("http://www.google.co.uk/"); |
- EXPECT_EQ(GURL("http://www.google.co.uk/"), fetched_google_url()); |
EXPECT_EQ(GURL("http://www.google.co.uk/"), google_url()); |
EXPECT_TRUE(listener_notified()); |
clear_listener_notified(); |
NotifyNetworkChanged(); |
MockSearchDomainCheckResponse("http://www.google.co.in/"); |
- EXPECT_EQ(GURL("http://www.google.co.in/"), fetched_google_url()); |
- // Just fetching a new URL shouldn't reset things without a prompt. |
- EXPECT_EQ(GURL("http://www.google.co.uk/"), google_url()); |
- EXPECT_FALSE(listener_notified()); |
+ EXPECT_EQ(GURL("http://www.google.co.in/"), google_url()); |
+ EXPECT_TRUE(listener_notified()); |
} |
TEST_F(GoogleURLTrackerTest, DontRefetchWhenNoOneRequestsCheck) { |
@@ -614,7 +306,7 @@ TEST_F(GoogleURLTrackerTest, DontRefetchWhenNoOneRequestsCheck) { |
// No one called RequestServerCheck() so nothing should have happened. |
EXPECT_FALSE(GetFetcher()); |
MockSearchDomainCheckResponse("http://www.google.co.uk/"); |
- ExpectDefaultURLs(); |
+ EXPECT_EQ(GURL(GoogleURLTracker::kDefaultGoogleHomepage), google_url()); |
EXPECT_FALSE(listener_notified()); |
} |
@@ -627,7 +319,6 @@ TEST_F(GoogleURLTrackerTest, FetchOnLateRequest) { |
// The first request for a check should trigger a fetch if it hasn't happened |
// already. |
MockSearchDomainCheckResponse("http://www.google.co.uk/"); |
- EXPECT_EQ(GURL("http://www.google.co.uk/"), fetched_google_url()); |
EXPECT_EQ(GURL("http://www.google.co.uk/"), google_url()); |
EXPECT_TRUE(listener_notified()); |
} |
@@ -641,7 +332,6 @@ TEST_F(GoogleURLTrackerTest, DontFetchTwiceOnLateRequests) { |
// The first request for a check should trigger a fetch if it hasn't happened |
// already. |
MockSearchDomainCheckResponse("http://www.google.co.uk/"); |
- EXPECT_EQ(GURL("http://www.google.co.uk/"), fetched_google_url()); |
EXPECT_EQ(GURL("http://www.google.co.uk/"), google_url()); |
EXPECT_TRUE(listener_notified()); |
clear_listener_notified(); |
@@ -650,414 +340,6 @@ TEST_F(GoogleURLTrackerTest, DontFetchTwiceOnLateRequests) { |
// The second request should be ignored. |
EXPECT_FALSE(GetFetcher()); |
MockSearchDomainCheckResponse("http://www.google.co.in/"); |
- EXPECT_EQ(GURL("http://www.google.co.uk/"), fetched_google_url()); |
EXPECT_EQ(GURL("http://www.google.co.uk/"), google_url()); |
EXPECT_FALSE(listener_notified()); |
} |
- |
-TEST_F(GoogleURLTrackerTest, SearchingDoesNothingIfNoNeedToPrompt) { |
- TestInfoBarManager infobar_manager(1); |
- RequestServerCheck(); |
- FinishSleep(); |
- MockSearchDomainCheckResponse("http://www.google.co.uk/"); |
- EXPECT_EQ(GURL("http://www.google.co.uk/"), fetched_google_url()); |
- EXPECT_EQ(GURL("http://www.google.co.uk/"), google_url()); |
- EXPECT_EQ(GURL("http://www.google.co.uk/"), GetLastPromptedGoogleURL()); |
- EXPECT_TRUE(listener_notified()); |
- clear_listener_notified(); |
- |
- SetNavigationPending(&infobar_manager, true); |
- CommitSearch(&infobar_manager, GURL("http://www.google.co.uk/search?q=test")); |
- EXPECT_TRUE(GetMapEntry(&infobar_manager) == NULL); |
- EXPECT_EQ(GURL("http://www.google.co.uk/"), fetched_google_url()); |
- EXPECT_EQ(GURL("http://www.google.co.uk/"), google_url()); |
- EXPECT_EQ(GURL("http://www.google.co.uk/"), GetLastPromptedGoogleURL()); |
- EXPECT_FALSE(listener_notified()); |
-} |
- |
-TEST_F(GoogleURLTrackerTest, TabClosedOnPendingSearch) { |
- TestInfoBarManager infobar_manager(1); |
- SetLastPromptedGoogleURL(GURL("http://www.google.co.uk/")); |
- RequestServerCheck(); |
- FinishSleep(); |
- MockSearchDomainCheckResponse("http://www.google.co.jp/"); |
- EXPECT_EQ(GURL(GoogleURLTracker::kDefaultGoogleHomepage), google_url()); |
- EXPECT_EQ(GURL("http://www.google.co.jp/"), fetched_google_url()); |
- EXPECT_EQ(GURL("http://www.google.co.uk/"), GetLastPromptedGoogleURL()); |
- EXPECT_FALSE(listener_notified()); |
- |
- SetNavigationPending(&infobar_manager, true); |
- GoogleURLTrackerMapEntry* map_entry = GetMapEntry(&infobar_manager); |
- ASSERT_FALSE(map_entry == NULL); |
- EXPECT_FALSE(map_entry->has_infobar_delegate()); |
- EXPECT_EQ(GURL(GoogleURLTracker::kDefaultGoogleHomepage), google_url()); |
- EXPECT_EQ(GURL("http://www.google.co.uk/"), GetLastPromptedGoogleURL()); |
- EXPECT_FALSE(listener_notified()); |
- |
- CloseTab(&infobar_manager); |
- EXPECT_TRUE(GetMapEntry(&infobar_manager) == NULL); |
- EXPECT_EQ(GURL(GoogleURLTracker::kDefaultGoogleHomepage), google_url()); |
- EXPECT_EQ(GURL("http://www.google.co.uk/"), GetLastPromptedGoogleURL()); |
- EXPECT_FALSE(listener_notified()); |
-} |
- |
-TEST_F(GoogleURLTrackerTest, TabClosedOnCommittedSearch) { |
- TestInfoBarManager infobar_manager(1); |
- SetLastPromptedGoogleURL(GURL("http://www.google.co.uk/")); |
- RequestServerCheck(); |
- FinishSleep(); |
- MockSearchDomainCheckResponse("http://www.google.co.jp/"); |
- |
- SetNavigationPending(&infobar_manager, true); |
- CommitSearch(&infobar_manager, GURL("http://www.google.co.uk/search?q=test")); |
- EXPECT_FALSE(GetInfoBarDelegate(&infobar_manager) == NULL); |
- |
- CloseTab(&infobar_manager); |
- EXPECT_TRUE(GetMapEntry(&infobar_manager) == NULL); |
- EXPECT_EQ(GURL(GoogleURLTracker::kDefaultGoogleHomepage), google_url()); |
- EXPECT_EQ(GURL("http://www.google.co.uk/"), GetLastPromptedGoogleURL()); |
- EXPECT_FALSE(listener_notified()); |
-} |
- |
-TEST_F(GoogleURLTrackerTest, InfoBarClosed) { |
- TestInfoBarManager infobar_manager(1); |
- SetLastPromptedGoogleURL(GURL("http://www.google.co.uk/")); |
- RequestServerCheck(); |
- FinishSleep(); |
- MockSearchDomainCheckResponse("http://www.google.co.jp/"); |
- |
- SetNavigationPending(&infobar_manager, true); |
- CommitSearch(&infobar_manager, GURL("http://www.google.co.uk/search?q=test")); |
- GoogleURLTrackerInfoBarDelegate* infobar = |
- GetInfoBarDelegate(&infobar_manager); |
- ASSERT_FALSE(infobar == NULL); |
- |
- infobar->Close(false); |
- EXPECT_TRUE(GetMapEntry(&infobar_manager) == NULL); |
- EXPECT_EQ(GURL(GoogleURLTracker::kDefaultGoogleHomepage), google_url()); |
- EXPECT_EQ(GURL("http://www.google.co.uk/"), GetLastPromptedGoogleURL()); |
- EXPECT_FALSE(listener_notified()); |
-} |
- |
-TEST_F(GoogleURLTrackerTest, InfoBarRefused) { |
- TestInfoBarManager infobar_manager(1); |
- SetLastPromptedGoogleURL(GURL("http://www.google.co.uk/")); |
- RequestServerCheck(); |
- FinishSleep(); |
- MockSearchDomainCheckResponse("http://www.google.co.jp/"); |
- |
- SetNavigationPending(&infobar_manager, true); |
- CommitSearch(&infobar_manager, GURL("http://www.google.co.uk/search?q=test")); |
- GoogleURLTrackerInfoBarDelegate* infobar = |
- GetInfoBarDelegate(&infobar_manager); |
- ASSERT_FALSE(infobar == NULL); |
- |
- infobar->Cancel(); |
- EXPECT_TRUE(GetMapEntry(&infobar_manager) == NULL); |
- EXPECT_EQ(GURL(GoogleURLTracker::kDefaultGoogleHomepage), google_url()); |
- EXPECT_EQ(GURL("http://www.google.co.jp/"), GetLastPromptedGoogleURL()); |
- EXPECT_FALSE(listener_notified()); |
-} |
- |
-TEST_F(GoogleURLTrackerTest, InfoBarAccepted) { |
- TestInfoBarManager infobar_manager(1); |
- SetLastPromptedGoogleURL(GURL("http://www.google.co.uk/")); |
- RequestServerCheck(); |
- FinishSleep(); |
- MockSearchDomainCheckResponse("http://www.google.co.jp/"); |
- |
- SetNavigationPending(&infobar_manager, true); |
- CommitSearch(&infobar_manager, GURL("http://www.google.co.uk/search?q=test")); |
- GoogleURLTrackerInfoBarDelegate* infobar = |
- GetInfoBarDelegate(&infobar_manager); |
- ASSERT_FALSE(infobar == NULL); |
- |
- infobar->Accept(); |
- EXPECT_TRUE(GetMapEntry(&infobar_manager) == NULL); |
- EXPECT_EQ(GURL("http://www.google.co.jp/"), google_url()); |
- EXPECT_EQ(GURL("http://www.google.co.jp/"), GetLastPromptedGoogleURL()); |
- EXPECT_TRUE(listener_notified()); |
-} |
- |
-TEST_F(GoogleURLTrackerTest, FetchesCanAutomaticallyCloseInfoBars) { |
- TestInfoBarManager infobar_manager(1); |
- RequestServerCheck(); |
- FinishSleep(); |
- MockSearchDomainCheckResponse(google_url().spec()); |
- |
- // Re-fetching the accepted URL after showing an infobar for another URL |
- // should close the infobar. |
- NotifyNetworkChanged(); |
- MockSearchDomainCheckResponse("http://www.google.co.uk/"); |
- SetNavigationPending(&infobar_manager, true); |
- CommitSearch(&infobar_manager, GURL("http://www.google.com/search?q=test")); |
- EXPECT_FALSE(GetInfoBarDelegate(&infobar_manager) == NULL); |
- NotifyNetworkChanged(); |
- MockSearchDomainCheckResponse(google_url().spec()); |
- EXPECT_EQ(google_url(), GetLastPromptedGoogleURL()); |
- EXPECT_TRUE(GetMapEntry(&infobar_manager) == NULL); |
- |
- // As should fetching a URL that differs from the accepted only by the scheme. |
- NotifyNetworkChanged(); |
- MockSearchDomainCheckResponse("http://www.google.co.uk/"); |
- SetNavigationPending(&infobar_manager, true); |
- CommitSearch(&infobar_manager, GURL("http://www.google.com/search?q=test")); |
- EXPECT_FALSE(GetInfoBarDelegate(&infobar_manager) == NULL); |
- NotifyNetworkChanged(); |
- url::Replacements<char> replacements; |
- const std::string& scheme("https"); |
- replacements.SetScheme(scheme.data(), url::Component(0, scheme.length())); |
- GURL new_google_url(google_url().ReplaceComponents(replacements)); |
- MockSearchDomainCheckResponse(new_google_url.spec()); |
- EXPECT_EQ(new_google_url, GetLastPromptedGoogleURL()); |
- EXPECT_TRUE(GetMapEntry(&infobar_manager) == NULL); |
- |
- // As should re-fetching the last prompted URL. |
- SetLastPromptedGoogleURL(GURL("http://www.google.co.uk/")); |
- NotifyNetworkChanged(); |
- MockSearchDomainCheckResponse("http://www.google.co.jp/"); |
- SetNavigationPending(&infobar_manager, true); |
- CommitSearch(&infobar_manager, GURL("http://www.google.com/search?q=test")); |
- EXPECT_FALSE(GetInfoBarDelegate(&infobar_manager) == NULL); |
- NotifyNetworkChanged(); |
- MockSearchDomainCheckResponse("http://www.google.co.uk/"); |
- EXPECT_EQ(new_google_url, google_url()); |
- EXPECT_EQ(GURL("http://www.google.co.uk/"), GetLastPromptedGoogleURL()); |
- EXPECT_TRUE(GetMapEntry(&infobar_manager) == NULL); |
- |
- // And one that differs from the last prompted URL only by the scheme. |
- NotifyNetworkChanged(); |
- MockSearchDomainCheckResponse("http://www.google.co.jp/"); |
- SetNavigationPending(&infobar_manager, true); |
- CommitSearch(&infobar_manager, GURL("http://www.google.com/search?q=test")); |
- EXPECT_FALSE(GetInfoBarDelegate(&infobar_manager) == NULL); |
- NotifyNetworkChanged(); |
- MockSearchDomainCheckResponse("https://www.google.co.uk/"); |
- EXPECT_EQ(new_google_url, google_url()); |
- EXPECT_EQ(GURL("https://www.google.co.uk/"), GetLastPromptedGoogleURL()); |
- EXPECT_TRUE(GetMapEntry(&infobar_manager) == NULL); |
- |
- // And fetching a different URL entirely. |
- NotifyNetworkChanged(); |
- MockSearchDomainCheckResponse("http://www.google.co.jp/"); |
- SetNavigationPending(&infobar_manager, true); |
- CommitSearch(&infobar_manager, GURL("http://www.google.com/search?q=test")); |
- EXPECT_FALSE(GetInfoBarDelegate(&infobar_manager) == NULL); |
- NotifyNetworkChanged(); |
- MockSearchDomainCheckResponse("https://www.google.co.in/"); |
- EXPECT_EQ(new_google_url, google_url()); |
- EXPECT_EQ(GURL("https://www.google.co.uk/"), GetLastPromptedGoogleURL()); |
- EXPECT_TRUE(GetMapEntry(&infobar_manager) == NULL); |
-} |
- |
-TEST_F(GoogleURLTrackerTest, ResetInfoBarGoogleURLs) { |
- TestInfoBarManager infobar_manager(1); |
- RequestServerCheck(); |
- FinishSleep(); |
- MockSearchDomainCheckResponse(google_url().spec()); |
- |
- NotifyNetworkChanged(); |
- MockSearchDomainCheckResponse("http://www.google.co.uk/"); |
- SetNavigationPending(&infobar_manager, true); |
- CommitSearch(&infobar_manager, GURL("http://www.google.com/search?q=test")); |
- GoogleURLTrackerInfoBarDelegate* delegate = |
- GetInfoBarDelegate(&infobar_manager); |
- ASSERT_FALSE(delegate == NULL); |
- EXPECT_EQ(GURL("http://www.google.co.uk/"), fetched_google_url()); |
- |
- // If while an infobar is showing we fetch a new URL that differs from the |
- // infobar's only by scheme, the infobar should stay showing. |
- NotifyNetworkChanged(); |
- MockSearchDomainCheckResponse("https://www.google.co.uk/"); |
- EXPECT_EQ(delegate, GetInfoBarDelegate(&infobar_manager)); |
- EXPECT_EQ(GURL("https://www.google.co.uk/"), fetched_google_url()); |
-} |
- |
-TEST_F(GoogleURLTrackerTest, NavigationsAfterPendingSearch) { |
- TestInfoBarManager infobar_manager(1); |
- SetLastPromptedGoogleURL(GURL("http://www.google.co.uk/")); |
- RequestServerCheck(); |
- FinishSleep(); |
- MockSearchDomainCheckResponse("http://www.google.co.jp/"); |
- |
- // A pending non-search after a pending search should delete the map entry. |
- SetNavigationPending(&infobar_manager, true); |
- GoogleURLTrackerMapEntry* map_entry = GetMapEntry(&infobar_manager); |
- ASSERT_FALSE(map_entry == NULL); |
- EXPECT_FALSE(map_entry->has_infobar_delegate()); |
- SetNavigationPending(&infobar_manager, false); |
- EXPECT_TRUE(GetMapEntry(&infobar_manager) == NULL); |
- |
- // A pending search after a pending search should leave the map entry alive. |
- SetNavigationPending(&infobar_manager, true); |
- map_entry = GetMapEntry(&infobar_manager); |
- ASSERT_FALSE(map_entry == NULL); |
- EXPECT_FALSE(map_entry->has_infobar_delegate()); |
- SetNavigationPending(&infobar_manager, true); |
- ASSERT_EQ(map_entry, GetMapEntry(&infobar_manager)); |
- EXPECT_FALSE(map_entry->has_infobar_delegate()); |
- ASSERT_NO_FATAL_FAILURE(ExpectListeningForCommit(&infobar_manager, true)); |
- |
- // Committing this search should show an infobar. |
- CommitSearch(&infobar_manager, |
- GURL("http://www.google.co.uk/search?q=test2")); |
- EXPECT_TRUE(map_entry->has_infobar_delegate()); |
- EXPECT_EQ(GURL(GoogleURLTracker::kDefaultGoogleHomepage), google_url()); |
- EXPECT_EQ(GURL("http://www.google.co.uk/"), GetLastPromptedGoogleURL()); |
- EXPECT_FALSE(listener_notified()); |
- ASSERT_NO_FATAL_FAILURE(ExpectListeningForCommit(&infobar_manager, false)); |
-} |
- |
-TEST_F(GoogleURLTrackerTest, NavigationsAfterCommittedSearch) { |
- TestInfoBarManager infobar_manager(1); |
- SetLastPromptedGoogleURL(GURL("http://www.google.co.uk/")); |
- RequestServerCheck(); |
- FinishSleep(); |
- MockSearchDomainCheckResponse("http://www.google.co.jp/"); |
- SetNavigationPending(&infobar_manager, true); |
- CommitSearch(&infobar_manager, GURL("http://www.google.co.uk/search?q=test")); |
- GoogleURLTrackerInfoBarDelegate* delegate = |
- GetInfoBarDelegate(&infobar_manager); |
- ASSERT_FALSE(delegate == NULL); |
- ASSERT_NO_FATAL_FAILURE(ExpectListeningForCommit(&infobar_manager, false)); |
- |
- // A pending non-search on a visible infobar should basically do nothing. |
- SetNavigationPending(&infobar_manager, false); |
- ASSERT_EQ(delegate, GetInfoBarDelegate(&infobar_manager)); |
- EXPECT_EQ(0, delegate->pending_id()); |
- ASSERT_NO_FATAL_FAILURE(ExpectListeningForCommit(&infobar_manager, false)); |
- |
- // As should another pending non-search after the first. |
- SetNavigationPending(&infobar_manager, false); |
- ASSERT_EQ(delegate, GetInfoBarDelegate(&infobar_manager)); |
- EXPECT_EQ(0, delegate->pending_id()); |
- ASSERT_NO_FATAL_FAILURE(ExpectListeningForCommit(&infobar_manager, false)); |
- |
- // Committing this non-search should close the infobar. The control flow in |
- // these tests is not really comparable to in the real browser, but at least a |
- // few sanity-checks will be performed. |
- ASSERT_NO_FATAL_FAILURE(CommitNonSearch(&infobar_manager)); |
- EXPECT_TRUE(GetMapEntry(&infobar_manager) == NULL); |
- |
- // A pending search on a visible infobar should cause the infobar to listen |
- // for the search to commit. |
- SetNavigationPending(&infobar_manager, true); |
- CommitSearch(&infobar_manager, GURL("http://www.google.co.uk/search?q=test")); |
- delegate = GetInfoBarDelegate(&infobar_manager); |
- ASSERT_FALSE(delegate == NULL); |
- SetNavigationPending(&infobar_manager, true); |
- ASSERT_EQ(delegate, GetInfoBarDelegate(&infobar_manager)); |
- EXPECT_EQ(1, delegate->pending_id()); |
- ASSERT_NO_FATAL_FAILURE(ExpectListeningForCommit(&infobar_manager, true)); |
- |
- // But a non-search after this should cancel that state. |
- SetNavigationPending(&infobar_manager, false); |
- ASSERT_EQ(delegate, GetInfoBarDelegate(&infobar_manager)); |
- EXPECT_EQ(0, delegate->pending_id()); |
- ASSERT_NO_FATAL_FAILURE(ExpectListeningForCommit(&infobar_manager, false)); |
- |
- // Another pending search after the non-search should put us back into |
- // "waiting for commit" mode. |
- SetNavigationPending(&infobar_manager, true); |
- ASSERT_EQ(delegate, GetInfoBarDelegate(&infobar_manager)); |
- EXPECT_EQ(1, delegate->pending_id()); |
- ASSERT_NO_FATAL_FAILURE(ExpectListeningForCommit(&infobar_manager, true)); |
- |
- // A second pending search after the first should not really change anything. |
- SetNavigationPending(&infobar_manager, true); |
- ASSERT_EQ(delegate, GetInfoBarDelegate(&infobar_manager)); |
- EXPECT_EQ(1, delegate->pending_id()); |
- ASSERT_NO_FATAL_FAILURE(ExpectListeningForCommit(&infobar_manager, true)); |
- |
- // Committing this search should change the visible infobar's search_url. |
- CommitSearch(&infobar_manager, |
- GURL("http://www.google.co.uk/search?q=test2")); |
- ASSERT_EQ(delegate, GetInfoBarDelegate(&infobar_manager)); |
- EXPECT_EQ(GURL("http://www.google.co.uk/search?q=test2"), |
- delegate->search_url()); |
- EXPECT_EQ(0, delegate->pending_id()); |
- ASSERT_NO_FATAL_FAILURE(ExpectListeningForCommit(&infobar_manager, false)); |
- EXPECT_EQ(GURL(GoogleURLTracker::kDefaultGoogleHomepage), google_url()); |
- EXPECT_EQ(GURL("http://www.google.co.uk/"), GetLastPromptedGoogleURL()); |
- EXPECT_FALSE(listener_notified()); |
-} |
- |
-TEST_F(GoogleURLTrackerTest, MultipleMapEntries) { |
- TestInfoBarManager infobar_manager(1); |
- TestInfoBarManager infobar_manager2(2); |
- TestInfoBarManager infobar_manager3(3); |
- TestInfoBarManager infobar_manager4(4); |
- SetLastPromptedGoogleURL(GURL("http://www.google.co.uk/")); |
- RequestServerCheck(); |
- FinishSleep(); |
- MockSearchDomainCheckResponse("http://www.google.co.jp/"); |
- |
- SetNavigationPending(&infobar_manager, true); |
- GoogleURLTrackerMapEntry* map_entry = GetMapEntry(&infobar_manager); |
- ASSERT_FALSE(map_entry == NULL); |
- EXPECT_FALSE(map_entry->has_infobar_delegate()); |
- |
- SetNavigationPending(&infobar_manager2, true); |
- CommitSearch(&infobar_manager2, |
- GURL("http://www.google.co.uk/search?q=test2")); |
- GoogleURLTrackerInfoBarDelegate* delegate2 = |
- GetInfoBarDelegate(&infobar_manager2); |
- ASSERT_FALSE(delegate2 == NULL); |
- EXPECT_EQ(GURL("http://www.google.co.uk/search?q=test2"), |
- delegate2->search_url()); |
- |
- SetNavigationPending(&infobar_manager3, true); |
- GoogleURLTrackerMapEntry* map_entry3 = GetMapEntry(&infobar_manager3); |
- ASSERT_FALSE(map_entry3 == NULL); |
- EXPECT_FALSE(map_entry3->has_infobar_delegate()); |
- |
- SetNavigationPending(&infobar_manager4, true); |
- CommitSearch(&infobar_manager4, |
- GURL("http://www.google.co.uk/search?q=test4")); |
- GoogleURLTrackerInfoBarDelegate* delegate4 = |
- GetInfoBarDelegate(&infobar_manager4); |
- ASSERT_FALSE(delegate4 == NULL); |
- EXPECT_EQ(GURL("http://www.google.co.uk/search?q=test4"), |
- delegate4->search_url()); |
- |
- CommitSearch(&infobar_manager, GURL("http://www.google.co.uk/search?q=test")); |
- EXPECT_TRUE(map_entry->has_infobar_delegate()); |
- |
- delegate2->Close(false); |
- EXPECT_TRUE(GetMapEntry(&infobar_manager2) == NULL); |
- EXPECT_FALSE(listener_notified()); |
- |
- delegate4->Accept(); |
- EXPECT_TRUE(GetMapEntry(&infobar_manager) == NULL); |
- EXPECT_TRUE(GetMapEntry(&infobar_manager3) == NULL); |
- EXPECT_TRUE(GetMapEntry(&infobar_manager4) == NULL); |
- EXPECT_EQ(GURL("http://www.google.co.jp/"), google_url()); |
- EXPECT_EQ(GURL("http://www.google.co.jp/"), GetLastPromptedGoogleURL()); |
- EXPECT_TRUE(listener_notified()); |
-} |
- |
-TEST_F(GoogleURLTrackerTest, IgnoreIrrelevantNavigation) { |
- TestInfoBarManager infobar_manager(1); |
- TestInfoBarManager infobar_manager2(2); |
- SetLastPromptedGoogleURL(GURL("http://www.google.co.uk/")); |
- RequestServerCheck(); |
- FinishSleep(); |
- MockSearchDomainCheckResponse("http://www.google.co.jp/"); |
- |
- // This tests a particularly gnarly sequence of events that used to cause us |
- // to erroneously listen for a non-search navigation to commit. |
- SetNavigationPending(&infobar_manager, true); |
- CommitSearch(&infobar_manager, GURL("http://www.google.co.uk/search?q=test")); |
- SetNavigationPending(&infobar_manager2, true); |
- CommitSearch(&infobar_manager2, |
- GURL("http://www.google.co.uk/search?q=test2")); |
- EXPECT_FALSE(GetInfoBarDelegate(&infobar_manager) == NULL); |
- GoogleURLTrackerInfoBarDelegate* delegate2 = |
- GetInfoBarDelegate(&infobar_manager2); |
- ASSERT_FALSE(delegate2 == NULL); |
- SetNavigationPending(&infobar_manager, true); |
- ASSERT_NO_FATAL_FAILURE(ExpectListeningForCommit(&infobar_manager, true)); |
- delegate2->Close(false); |
- SetNavigationPending(&infobar_manager, false); |
- ASSERT_NO_FATAL_FAILURE(ExpectListeningForCommit(&infobar_manager, false)); |
-} |