Index: chrome/browser/profiles/profile_manager_unittest.cc |
diff --git a/chrome/browser/profiles/profile_manager_unittest.cc b/chrome/browser/profiles/profile_manager_unittest.cc |
index 0edf118e0ba51b62d1eed76464d51b4c3c55d4ce..cdef89c6a9913d97e65e9b2debae1dc674f38320 100644 |
--- a/chrome/browser/profiles/profile_manager_unittest.cc |
+++ b/chrome/browser/profiles/profile_manager_unittest.cc |
@@ -6,6 +6,7 @@ |
#include "base/command_line.h" |
#include "base/file_util.h" |
+#include "base/memory/ref_counted.h" |
#include "base/message_loop.h" |
#include "base/path_service.h" |
#include "base/scoped_temp_dir.h" |
@@ -115,9 +116,10 @@ class ProfileManagerTest : public testing::Test { |
message_loop_.RunAllPending(); |
} |
- class MockObserver : public ProfileManagerObserver { |
+ class MockObserver : public base::RefCountedThreadSafe<MockObserver> { |
Robert Sesek
2011/12/07 16:36:13
Why does this need to be refcounted?
sail
2011/12/07 17:18:13
So I can use it in base::Bind().
Robert Sesek
2011/12/07 18:07:40
Can't you just use Unretained() because the MockOb
sail
2011/12/07 18:34:04
Done.
|
public: |
- MOCK_METHOD2(OnProfileCreated, void(Profile* profile, Status status)); |
+ MOCK_METHOD2(OnProfileCreated, void(Profile* profile, |
Robert Sesek
2011/12/07 16:36:13
I'd break after the first ,
sail
2011/12/07 17:18:13
Done.
|
+ Profile::CreateStatus status)); |
}; |
#if defined(OS_CHROMEOS) |
@@ -228,8 +230,8 @@ TEST_F(ProfileManagerTest, CreateAndUseTwoProfiles) { |
} |
MATCHER(NotFail, "Profile creation failure status is not reported.") { |
- return arg == ProfileManagerObserver::STATUS_CREATED || |
- arg == ProfileManagerObserver::STATUS_INITIALIZED; |
+ return arg == Profile::CREATE_STATUS_CREATED || |
+ arg == Profile::CREATE_STATUS_INITIALIZED; |
} |
// Tests asynchronous profile creation mechanism. |
@@ -237,11 +239,12 @@ TEST_F(ProfileManagerTest, DISABLED_CreateProfileAsync) { |
FilePath dest_path = |
temp_dir_.path().Append(FILE_PATH_LITERAL("New Profile")); |
- MockObserver mock_observer; |
- EXPECT_CALL(mock_observer, OnProfileCreated( |
+ scoped_refptr<MockObserver> mock_observer = new MockObserver; |
+ EXPECT_CALL(*mock_observer, OnProfileCreated( |
testing::NotNull(), NotFail())).Times(testing::AtLeast(1)); |
- profile_manager_->CreateProfileAsync(dest_path, &mock_observer); |
+ profile_manager_->CreateProfileAsync(dest_path, |
+ base::Bind(&MockObserver::OnProfileCreated, mock_observer.get())); |
message_loop_.RunAllPending(); |
} |
@@ -258,19 +261,22 @@ TEST_F(ProfileManagerTest, CreateProfileAsyncMultipleRequests) { |
g_created_profile = NULL; |
- MockObserver mock_observer1; |
- EXPECT_CALL(mock_observer1, OnProfileCreated( |
+ scoped_refptr<MockObserver> mock_observer1 = new MockObserver; |
+ EXPECT_CALL(*mock_observer1, OnProfileCreated( |
SameNotNull(), NotFail())).Times(testing::AtLeast(1)); |
- MockObserver mock_observer2; |
- EXPECT_CALL(mock_observer2, OnProfileCreated( |
+ scoped_refptr<MockObserver> mock_observer2 = new MockObserver; |
+ EXPECT_CALL(*mock_observer2, OnProfileCreated( |
SameNotNull(), NotFail())).Times(testing::AtLeast(1)); |
- MockObserver mock_observer3; |
- EXPECT_CALL(mock_observer3, OnProfileCreated( |
+ scoped_refptr<MockObserver> mock_observer3 = new MockObserver; |
+ EXPECT_CALL(*mock_observer3, OnProfileCreated( |
SameNotNull(), NotFail())).Times(testing::AtLeast(1)); |
- profile_manager_->CreateProfileAsync(dest_path, &mock_observer1); |
- profile_manager_->CreateProfileAsync(dest_path, &mock_observer2); |
- profile_manager_->CreateProfileAsync(dest_path, &mock_observer3); |
+ profile_manager_->CreateProfileAsync(dest_path, |
+ base::Bind(&MockObserver::OnProfileCreated, mock_observer1.get())); |
+ profile_manager_->CreateProfileAsync(dest_path, |
+ base::Bind(&MockObserver::OnProfileCreated, mock_observer2.get())); |
+ profile_manager_->CreateProfileAsync(dest_path, |
+ base::Bind(&MockObserver::OnProfileCreated, mock_observer3.get())); |
message_loop_.RunAllPending(); |
} |
@@ -281,12 +287,14 @@ TEST_F(ProfileManagerTest, CreateProfilesAsync) { |
FilePath dest_path2 = |
temp_dir_.path().Append(FILE_PATH_LITERAL("New Profile 2")); |
- MockObserver mock_observer; |
- EXPECT_CALL(mock_observer, OnProfileCreated( |
+ scoped_refptr<MockObserver> mock_observer = new MockObserver; |
+ EXPECT_CALL(*mock_observer, OnProfileCreated( |
testing::NotNull(), NotFail())).Times(testing::AtLeast(3)); |
- profile_manager_->CreateProfileAsync(dest_path1, &mock_observer); |
- profile_manager_->CreateProfileAsync(dest_path2, &mock_observer); |
+ profile_manager_->CreateProfileAsync(dest_path1, |
+ base::Bind(&MockObserver::OnProfileCreated, mock_observer.get())); |
+ profile_manager_->CreateProfileAsync(dest_path2, |
+ base::Bind(&MockObserver::OnProfileCreated, mock_observer.get())); |
message_loop_.RunAllPending(); |
} |