Index: chrome/test/sync/engine/syncer_command_test.h |
=================================================================== |
--- chrome/test/sync/engine/syncer_command_test.h (revision 51231) |
+++ chrome/test/sync/engine/syncer_command_test.h (working copy) |
@@ -24,6 +24,10 @@ |
public sessions::SyncSession::Delegate, |
public ModelSafeWorkerRegistrar { |
public: |
+ enum UseMockDirectory { |
+ USE_MOCK_DIRECTORY |
+ }; |
+ |
// SyncSession::Delegate implementation. |
virtual void OnSilencedUntil(const base::TimeTicks& silenced_until) { |
FAIL() << "Should not get silenced."; |
@@ -53,17 +57,21 @@ |
} |
protected: |
- SyncerCommandTestWithParam() {} |
+ SyncerCommandTestWithParam() : syncdb_(new TestDirectorySetterUpper()) {} |
+ |
+ explicit SyncerCommandTestWithParam(UseMockDirectory use_mock) |
+ : syncdb_(new MockDirectorySetterUpper()) {} |
+ |
virtual ~SyncerCommandTestWithParam() {} |
virtual void SetUp() { |
- syncdb_.SetUp(); |
+ syncdb_->SetUp(); |
ResetContext(); |
} |
virtual void TearDown() { |
- syncdb_.TearDown(); |
+ syncdb_->TearDown(); |
} |
- const TestDirectorySetterUpper& syncdb() const { return syncdb_; } |
+ TestDirectorySetterUpper* syncdb() { return syncdb_.get(); } |
sessions::SyncSessionContext* context() const { return context_.get(); } |
sessions::SyncSession::Delegate* delegate() { return this; } |
ModelSafeWorkerRegistrar* registrar() { return this; } |
@@ -79,8 +87,8 @@ |
void ResetContext() { |
context_.reset(new sessions::SyncSessionContext( |
- mock_server_.get(), NULL, syncdb_.manager(), registrar())); |
- context_->set_account_name(syncdb_.name()); |
+ mock_server_.get(), NULL, syncdb_->manager(), registrar())); |
+ context_->set_account_name(syncdb_->name()); |
ClearSession(); |
} |
@@ -88,7 +96,7 @@ |
// the context does not have a MockServerConnection attached. |
void ConfigureMockServerConnection() { |
mock_server_.reset( |
- new MockConnectionManager(syncdb_.manager(), syncdb_.name())); |
+ new MockConnectionManager(syncdb_->manager(), syncdb_->name())); |
ResetContext(); |
} |
@@ -104,7 +112,7 @@ |
} |
private: |
- TestDirectorySetterUpper syncdb_; |
+ scoped_ptr<TestDirectorySetterUpper> syncdb_; |
scoped_ptr<sessions::SyncSessionContext> context_; |
scoped_ptr<MockConnectionManager> mock_server_; |
scoped_ptr<sessions::SyncSession> session_; |
@@ -115,6 +123,17 @@ |
class SyncerCommandTest : public SyncerCommandTestWithParam<void*> {}; |
+class MockDirectorySyncerCommandTest |
+ : public SyncerCommandTestWithParam<void*> { |
+ public: |
+ MockDirectorySyncerCommandTest() |
+ : SyncerCommandTestWithParam<void*>( |
+ SyncerCommandTestWithParam<void*>::USE_MOCK_DIRECTORY) {} |
+ MockDirectorySetterUpper::MockDirectory* mock_directory() { |
+ return static_cast<MockDirectorySetterUpper*>(syncdb())->directory(); |
+ } |
+}; |
+ |
} // namespace browser_sync |
#endif // CHROME_TEST_SYNC_ENGINE_SYNCER_COMMAND_TEST_H_ |