Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1739)

Side by Side Diff: chrome/browser/google/google_url_tracker_unittest.cc

Issue 17127002: Correctly integrate StoragePartition into TestingProfile. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: address comments. merge to ToT. Murder a DB thread and more TestBrowserThreads. Created 7 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 <set> 7 #include <set>
8 #include <string> 8 #include <string>
9 9
10 #include "base/message_loop.h" 10 #include "base/message_loop.h"
11 #include "base/prefs/pref_service.h" 11 #include "base/prefs/pref_service.h"
12 #include "chrome/browser/google/google_url_tracker_factory.h" 12 #include "chrome/browser/google/google_url_tracker_factory.h"
13 #include "chrome/browser/google/google_url_tracker_infobar_delegate.h" 13 #include "chrome/browser/google/google_url_tracker_infobar_delegate.h"
14 #include "chrome/browser/google/google_url_tracker_navigation_helper.h" 14 #include "chrome/browser/google/google_url_tracker_navigation_helper.h"
15 #include "chrome/browser/infobars/infobar.h" 15 #include "chrome/browser/infobars/infobar.h"
16 #include "chrome/browser/infobars/infobar_delegate.h" 16 #include "chrome/browser/infobars/infobar_delegate.h"
17 #include "chrome/common/chrome_notification_types.h" 17 #include "chrome/common/chrome_notification_types.h"
18 #include "chrome/common/pref_names.h" 18 #include "chrome/common/pref_names.h"
19 #include "chrome/test/base/testing_profile.h" 19 #include "chrome/test/base/testing_profile.h"
20 #include "content/public/browser/notification_service.h" 20 #include "content/public/browser/notification_service.h"
21 #include "content/public/test/test_browser_thread.h" 21 #include "content/public/test/test_browser_thread_bundle.h"
22 #include "net/url_request/test_url_fetcher_factory.h" 22 #include "net/url_request/test_url_fetcher_factory.h"
23 #include "net/url_request/url_fetcher.h" 23 #include "net/url_request/url_fetcher.h"
24 #include "testing/gtest/include/gtest/gtest.h" 24 #include "testing/gtest/include/gtest/gtest.h"
25 25
26 class GoogleURLTrackerTest; 26 class GoogleURLTrackerTest;
27 27
28
29 namespace { 28 namespace {
30 29
31 // TestInfoBarDelegate -------------------------------------------------------- 30 // TestInfoBarDelegate --------------------------------------------------------
32 31
33 class TestInfoBarDelegate : public GoogleURLTrackerInfoBarDelegate { 32 class TestInfoBarDelegate : public GoogleURLTrackerInfoBarDelegate {
34 public: 33 public:
35 // Creates a test delegate and returns it. Unlike the parent class, this does 34 // Creates a test delegate and returns it. Unlike the parent class, this does
36 // not create add the infobar to |infobar_service|, since that "pointer" is 35 // not create add the infobar to |infobar_service|, since that "pointer" is
37 // really just a magic number. Thus there is no InfoBarService ownership of 36 // really just a magic number. Thus there is no InfoBarService ownership of
38 // the returned object; and since the caller doesn't own the returned object, 37 // the returned object; and since the caller doesn't own the returned object,
(...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after
242 // object, we don't add the created infobar to it. Instead we will simulate 241 // object, we don't add the created infobar to it. Instead we will simulate
243 // any helper<->infobar interaction necessary. The returned object will be 242 // any helper<->infobar interaction necessary. The returned object will be
244 // cleaned up in OnInfoBarClosed(). 243 // cleaned up in OnInfoBarClosed().
245 GoogleURLTrackerInfoBarDelegate* CreateTestInfoBar( 244 GoogleURLTrackerInfoBarDelegate* CreateTestInfoBar(
246 InfoBarService* infobar_service, 245 InfoBarService* infobar_service,
247 GoogleURLTracker* google_url_tracker, 246 GoogleURLTracker* google_url_tracker,
248 const GURL& search_url); 247 const GURL& search_url);
249 248
250 // These are required by the TestURLFetchers GoogleURLTracker will create (see 249 // These are required by the TestURLFetchers GoogleURLTracker will create (see
251 // test_url_fetcher_factory.h). 250 // test_url_fetcher_factory.h).
252 base::MessageLoop message_loop_; 251 content::TestBrowserThreadBundle thread_bundle_;
253 content::TestBrowserThread io_thread_;
254 // Creating this allows us to call 252 // Creating this allows us to call
255 // net::NetworkChangeNotifier::NotifyObserversOfIPAddressChangeForTests(). 253 // net::NetworkChangeNotifier::NotifyObserversOfIPAddressChangeForTests().
256 scoped_ptr<net::NetworkChangeNotifier> network_change_notifier_; 254 scoped_ptr<net::NetworkChangeNotifier> network_change_notifier_;
257 net::TestURLFetcherFactory fetcher_factory_; 255 net::TestURLFetcherFactory fetcher_factory_;
258 content::NotificationRegistrar registrar_; 256 content::NotificationRegistrar registrar_;
259 TestNotificationObserver observer_; 257 TestNotificationObserver observer_;
260 GoogleURLTrackerNavigationHelper* nav_helper_; 258 GoogleURLTrackerNavigationHelper* nav_helper_;
261 TestingProfile profile_; 259 TestingProfile profile_;
262 scoped_ptr<GoogleURLTracker> google_url_tracker_; 260 scoped_ptr<GoogleURLTracker> google_url_tracker_;
263 // This tracks the different "tabs" a test has "opened", so we can close them 261 // This tracks the different "tabs" a test has "opened", so we can close them
(...skipping 12 matching lines...) Expand all
276 ASSERT_EQ(infobar, map_entry->infobar_delegate()); 274 ASSERT_EQ(infobar, map_entry->infobar_delegate());
277 map_entry->Observe(chrome::NOTIFICATION_TAB_CONTENTS_INFOBAR_REMOVED, 275 map_entry->Observe(chrome::NOTIFICATION_TAB_CONTENTS_INFOBAR_REMOVED,
278 content::Source<InfoBarService>(infobar_service), 276 content::Source<InfoBarService>(infobar_service),
279 content::Details<InfoBarRemovedDetails>(&removed_details)); 277 content::Details<InfoBarRemovedDetails>(&removed_details));
280 278
281 // Second, simulate the infobar container closing the infobar in response. 279 // Second, simulate the infobar container closing the infobar in response.
282 delete infobar; 280 delete infobar;
283 } 281 }
284 282
285 GoogleURLTrackerTest::GoogleURLTrackerTest() 283 GoogleURLTrackerTest::GoogleURLTrackerTest()
286 : message_loop_(base::MessageLoop::TYPE_IO), 284 : thread_bundle_(content::TestBrowserThreadBundle::IO_MAINLOOP) {
287 io_thread_(content::BrowserThread::IO, &message_loop_) {
288 GoogleURLTrackerFactory::GetInstance()->RegisterUserPrefsOnBrowserContext( 285 GoogleURLTrackerFactory::GetInstance()->RegisterUserPrefsOnBrowserContext(
289 &profile_); 286 &profile_);
290 } 287 }
291 288
292 GoogleURLTrackerTest::~GoogleURLTrackerTest() { 289 GoogleURLTrackerTest::~GoogleURLTrackerTest() {
293 } 290 }
294 291
295 void GoogleURLTrackerTest::SetUp() { 292 void GoogleURLTrackerTest::SetUp() {
296 network_change_notifier_.reset(net::NetworkChangeNotifier::CreateMock()); 293 network_change_notifier_.reset(net::NetworkChangeNotifier::CreateMock());
297 // Ownership is passed to google_url_tracker_, but a weak pointer is kept; 294 // Ownership is passed to google_url_tracker_, but a weak pointer is kept;
(...skipping 780 matching lines...) Expand 10 before | Expand all | Expand 10 after
1078 CommitSearch(2, GURL("http://www.google.co.uk/search?q=test2")); 1075 CommitSearch(2, GURL("http://www.google.co.uk/search?q=test2"));
1079 EXPECT_FALSE(GetInfoBarDelegate(1) == NULL); 1076 EXPECT_FALSE(GetInfoBarDelegate(1) == NULL);
1080 GoogleURLTrackerInfoBarDelegate* delegate2 = GetInfoBarDelegate(2); 1077 GoogleURLTrackerInfoBarDelegate* delegate2 = GetInfoBarDelegate(2);
1081 ASSERT_FALSE(delegate2 == NULL); 1078 ASSERT_FALSE(delegate2 == NULL);
1082 SetNavigationPending(1, true); 1079 SetNavigationPending(1, true);
1083 ASSERT_NO_FATAL_FAILURE(ExpectListeningForCommit(1, true)); 1080 ASSERT_NO_FATAL_FAILURE(ExpectListeningForCommit(1, true));
1084 delegate2->Close(false); 1081 delegate2->Close(false);
1085 SetNavigationPending(1, false); 1082 SetNavigationPending(1, false);
1086 ASSERT_NO_FATAL_FAILURE(ExpectListeningForCommit(1, false)); 1083 ASSERT_NO_FATAL_FAILURE(ExpectListeningForCommit(1, false));
1087 } 1084 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698