diff options
Diffstat (limited to 'chrome/test')
-rw-r--r-- | chrome/test/sync/engine/syncer_command_test.h | 3 | ||||
-rw-r--r-- | chrome/test/sync/sessions/test_scoped_session_event_listener.h | 36 |
2 files changed, 38 insertions, 1 deletions
diff --git a/chrome/test/sync/engine/syncer_command_test.h b/chrome/test/sync/engine/syncer_command_test.h index 02ea57d..faeb4b5 100644 --- a/chrome/test/sync/engine/syncer_command_test.h +++ b/chrome/test/sync/engine/syncer_command_test.h @@ -94,7 +94,8 @@ class SyncerCommandTestWithParam : public testing::TestWithParam<T>, void ResetContext() { context_.reset(new sessions::SyncSessionContext( - mock_server_.get(), syncdb_->manager(), registrar())); + mock_server_.get(), syncdb_->manager(), registrar(), + std::vector<SyncEngineEventListener*>())); context_->set_account_name(syncdb_->name()); ClearSession(); } diff --git a/chrome/test/sync/sessions/test_scoped_session_event_listener.h b/chrome/test/sync/sessions/test_scoped_session_event_listener.h new file mode 100644 index 0000000..9ede09b --- /dev/null +++ b/chrome/test/sync/sessions/test_scoped_session_event_listener.h @@ -0,0 +1,36 @@ +// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef CHROME_TEST_SYNC_SESSIONS_TEST_SCOPED_SESSION_EVENT_LISTENER_H_ +#define CHROME_TEST_SYNC_SESSIONS_TEST_SCOPED_SESSION_EVENT_LISTENER_H_ +#pragma once + +#include "chrome/browser/sync/sessions/sync_session_context.h" + +namespace browser_sync { +namespace sessions { + +// Installs a SyncEventListener to a given session context for the lifetime of +// the TestScopedSessionEventListener. +class TestScopedSessionEventListener { + public: + TestScopedSessionEventListener( + SyncSessionContext* context, + SyncEngineEventListener* listener) + : context_(context), listener_(listener) { + context->listeners_.AddObserver(listener); + } + ~TestScopedSessionEventListener() { + context_->listeners_.RemoveObserver(listener_); + } + private: + SyncSessionContext* context_; + SyncEngineEventListener* listener_; + DISALLOW_COPY_AND_ASSIGN(TestScopedSessionEventListener); +}; + +} // namespace sessions +} // namespace browser_sync + +#endif // CHROME_TEST_SYNC_SESSIONS_TEST_SCOPED_SESSION_EVENT_LISTENER_H_ |