Index: chrome/browser/net/http_server_properties_manager_unittest.cc |
diff --git a/chrome/browser/net/http_server_properties_manager_unittest.cc b/chrome/browser/net/http_server_properties_manager_unittest.cc |
index b60b59ca9c9b5ff96b5c31425a01cd20184f3694..efc37841264ef82ecdd3af0297c090948ba41fdb 100644 |
--- a/chrome/browser/net/http_server_properties_manager_unittest.cc |
+++ b/chrome/browser/net/http_server_properties_manager_unittest.cc |
@@ -54,12 +54,12 @@ class TestingHttpServerPropertiesManager : public HttpServerPropertiesManager { |
base::TimeDelta()); |
} |
- void UpdatePrefsFromCacheOnIOConcrete() { |
- HttpServerPropertiesManager::UpdatePrefsFromCacheOnIO(); |
+ void UpdatePrefsFromCacheOnIOConcrete(const base::Closure& callback) { |
+ HttpServerPropertiesManager::UpdatePrefsFromCacheOnIO(callback); |
} |
MOCK_METHOD0(UpdateCacheFromPrefsOnUI, void()); |
- MOCK_METHOD0(UpdatePrefsFromCacheOnIO, void()); |
+ MOCK_METHOD1(UpdatePrefsFromCacheOnIO, void(const base::Closure&)); |
MOCK_METHOD5(UpdateCacheFromPrefsOnIO, |
void(std::vector<std::string>* spdy_servers, |
net::SpdySettingsMap* spdy_settings_map, |
@@ -76,6 +76,25 @@ class TestingHttpServerPropertiesManager : public HttpServerPropertiesManager { |
DISALLOW_COPY_AND_ASSIGN(TestingHttpServerPropertiesManager); |
}; |
+class MockClosure : public base::RefCountedThreadSafe<MockClosure> { |
+ public: |
+ MOCK_METHOD0(MockMethod, void()); |
+ |
+ static base::Closure NewExpectedClosure() { |
+ scoped_refptr<MockClosure> mock_closure(new MockClosure); |
+ EXPECT_CALL(*mock_closure, MockMethod()); |
+ return base::Bind(&MockClosure::MockMethod, mock_closure); |
+ } |
+ |
+ protected: |
+ friend class base::RefCountedThreadSafe<MockClosure>; |
+ virtual ~MockClosure() {} |
mmenke
2012/10/25 20:15:52
nit: friend classes are generally put in the priv
engedy
2012/10/25 21:47:43
Done.
|
+ |
+ private: |
+ MockClosure() {} |
mmenke
2012/10/25 20:15:52
nit: Suggest a blank line here.
engedy
2012/10/25 21:47:43
Done.
|
+ DISALLOW_COPY_AND_ASSIGN(MockClosure); |
+}; |
+ |
class HttpServerPropertiesManagerTest : public testing::Test { |
protected: |
HttpServerPropertiesManagerTest() |
@@ -109,7 +128,7 @@ class HttpServerPropertiesManagerTest : public testing::Test { |
} |
void ExpectPrefsUpdate() { |
- EXPECT_CALL(*http_server_props_manager_, UpdatePrefsFromCacheOnIO()) |
+ EXPECT_CALL(*http_server_props_manager_, UpdatePrefsFromCacheOnIO(_)) |
.WillOnce( |
Invoke(http_server_props_manager_.get(), |
&TestingHttpServerPropertiesManager:: |
@@ -353,8 +372,9 @@ TEST_F(HttpServerPropertiesManagerTest, Clear) { |
Mock::VerifyAndClearExpectations(http_server_props_manager_.get()); |
ExpectPrefsUpdate(); |
+ |
// Clear http server data. |
- http_server_props_manager_->Clear(); |
+ http_server_props_manager_->Clear(MockClosure::NewExpectedClosure()); |
// Run the task. |
loop_.RunAllPending(); |
@@ -434,7 +454,7 @@ TEST_F(HttpServerPropertiesManagerTest, ShutdownWithPendingUpdatePrefs1) { |
TEST_F(HttpServerPropertiesManagerTest, ShutdownWithPendingUpdatePrefs2) { |
// This posts a task to the UI thread. |
- http_server_props_manager_->UpdatePrefsFromCacheOnIOConcrete(); |
+ http_server_props_manager_->UpdatePrefsFromCacheOnIOConcrete(base::Closure()); |
// Shutdown comes before the task is executed. |
http_server_props_manager_->ShutdownOnUIThread(); |
// Run the task after shutdown, but before deletion. |