Index: sync/internal_api/sync_manager_impl_unittest.cc |
diff --git a/sync/internal_api/sync_manager_impl_unittest.cc b/sync/internal_api/sync_manager_impl_unittest.cc |
index bd2ffeff0ad07d9f90775a906c44fdbf12e7fc7d..841ffd05f3ea9e862115bb78c8cfa0e1defc9ae1 100644 |
--- a/sync/internal_api/sync_manager_impl_unittest.cc |
+++ b/sync/internal_api/sync_manager_impl_unittest.cc |
@@ -696,8 +696,10 @@ class SyncManagerObserverMock : public SyncManager::Observer { |
class SyncNotifierMock : public SyncNotifier { |
public: |
+ MOCK_METHOD1(RegisterHandler, void(SyncNotifierObserver*)); |
MOCK_METHOD2(UpdateRegisteredIds, |
void(SyncNotifierObserver*, const ObjectIdSet&)); |
+ MOCK_METHOD1(UnregisterHandler, void(SyncNotifierObserver*)); |
MOCK_METHOD1(SetUniqueId, void(const std::string&)); |
MOCK_METHOD1(SetStateDeprecated, void(const std::string&)); |
MOCK_METHOD2(UpdateCredentials, |
@@ -742,6 +744,10 @@ class SyncManagerTest : public testing::Test, |
EXPECT_CALL(*sync_notifier_mock_, SetStateDeprecated("")); |
EXPECT_CALL(*sync_notifier_mock_, |
UpdateCredentials(credentials.email, credentials.sync_token)); |
+ EXPECT_CALL(*sync_notifier_mock_, RegisterHandler(_)); |
+ |
+ // Called by ShutdownOnSyncThread(). |
+ EXPECT_CALL(*sync_notifier_mock_, UnregisterHandler(_)); |
sync_manager_.AddObserver(&observer_); |
EXPECT_CALL(observer_, OnInitializationComplete(_, _, _)). |
@@ -782,7 +788,8 @@ class SyncManagerTest : public testing::Test, |
void TearDown() { |
sync_manager_.RemoveObserver(&observer_); |
- EXPECT_CALL(*sync_notifier_mock_, UpdateRegisteredIds(_, ObjectIdSet())); |
+ // |sync_notifier_mock_| is strict, which ensures we don't do anything but |
+ // unregister |sync_manager_| as a handler on shutdown. |
sync_manager_.ShutdownOnSyncThread(); |
sync_notifier_mock_ = NULL; |
PumpLoop(); |
@@ -956,18 +963,28 @@ TEST_F(SyncManagerTest, UpdateEnabledTypes) { |
ModelSafeRoutingInfo routes; |
GetModelSafeRoutingInfo(&routes); |
const ModelTypeSet enabled_types = GetRoutingInfoTypes(routes); |
- |
EXPECT_CALL(*sync_notifier_mock_, |
UpdateRegisteredIds( |
_, ModelTypeSetToObjectIdSet(enabled_types))); |
+ |
sync_manager_.UpdateEnabledTypes(enabled_types); |
} |
+TEST_F(SyncManagerTest, RegisterInvalidationHandler) { |
+ EXPECT_CALL(*sync_notifier_mock_, RegisterHandler(NULL)); |
+ sync_manager_.RegisterInvalidationHandler(NULL); |
+} |
+ |
TEST_F(SyncManagerTest, UpdateRegisteredInvalidationIds) { |
EXPECT_CALL(*sync_notifier_mock_, UpdateRegisteredIds(NULL, ObjectIdSet())); |
sync_manager_.UpdateRegisteredInvalidationIds(NULL, ObjectIdSet()); |
} |
+TEST_F(SyncManagerTest, UnregisterInvalidationHandler) { |
+ EXPECT_CALL(*sync_notifier_mock_, UnregisterHandler(NULL)); |
+ sync_manager_.UnregisterInvalidationHandler(NULL); |
+} |
+ |
TEST_F(SyncManagerTest, ProcessJsMessage) { |
const JsArgList kNoArgs; |