1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef CHROME_BROWSER_PROFILE_RESETTER_PROFILE_RESETTER_TEST_BASE_H_
6 #define CHROME_BROWSER_PROFILE_RESETTER_PROFILE_RESETTER_TEST_BASE_H_
8 #include "content/public/test/test_utils.h"
9 #include "testing/gmock/include/gmock/gmock.h"
11 class ProfileResetter
;
13 // The ProfileResetterMockObject is used to block the thread until
14 // ProfileResetter::Reset has completed:
16 // ProfileResetterMockObject mock_object;
17 // resetter_->Reset(ProfileResetter::ALL,
18 // base::Bind(&ProfileResetterMockObject::StopLoop,
19 // base::Unretained(&mock_object)));
20 // mock_object.RunLoop();
21 class ProfileResetterMockObject
{
23 ProfileResetterMockObject();
24 ~ProfileResetterMockObject();
30 MOCK_METHOD0(Callback
, void(void));
32 scoped_refptr
<content::MessageLoopRunner
> runner_
;
34 DISALLOW_COPY_AND_ASSIGN(ProfileResetterMockObject
);
37 // Base class for all ProfileResetter unit tests.
38 class ProfileResetterTestBase
{
40 ProfileResetterTestBase();
41 ~ProfileResetterTestBase();
44 testing::StrictMock
<ProfileResetterMockObject
> mock_object_
;
45 scoped_ptr
<ProfileResetter
> resetter_
;
48 DISALLOW_COPY_AND_ASSIGN(ProfileResetterTestBase
);
51 #endif // CHROME_BROWSER_PROFILE_RESETTER_PROFILE_RESETTER_TEST_BASE_H_