Index: chrome/browser/sync/glue/chrome_sync_notification_bridge_unittest.cc |
diff --git a/chrome/browser/sync/glue/chrome_sync_notification_bridge_unittest.cc b/chrome/browser/sync/glue/chrome_sync_notification_bridge_unittest.cc |
index ed50b9ea1c778c99fd131d37e77c477ecee6d308..e410903a175c6d9debe6411e7b238593121d9b9d 100644 |
--- a/chrome/browser/sync/glue/chrome_sync_notification_bridge_unittest.cc |
+++ b/chrome/browser/sync/glue/chrome_sync_notification_bridge_unittest.cc |
@@ -21,7 +21,8 @@ |
#include "content/public/browser/notification_service.h" |
#include "content/public/test/test_browser_thread.h" |
#include "sync/internal_api/public/base/model_type.h" |
-#include "sync/internal_api/public/base/model_type_payload_map.h" |
+#include "sync/internal_api/public/base/model_type_state_map.h" |
+#include "sync/notifier/object_id_state_map_test_util.h" |
#include "sync/notifier/sync_notifier_observer.h" |
#include "testing/gmock/include/gmock/gmock.h" |
#include "testing/gtest/include/gtest/gtest.h" |
@@ -35,9 +36,9 @@ using ::testing::StrictMock; |
using content::BrowserThread; |
// Receives a ChromeSyncNotificationBridge to register to, and an expected |
-// ModelTypePayloadMap. ReceivedProperNotification() will return true only |
+// ModelTypeStateMap. ReceivedProperNotification() will return true only |
// if the observer has received a notification with the proper source and |
-// payload. |
+// state. |
// Note: Because this object lives on the sync thread, we use a fake |
// (vs a mock) so we don't have to worry about possible thread safety |
// issues within GTest/GMock. |
@@ -46,18 +47,18 @@ class FakeSyncNotifierObserver : public syncer::SyncNotifierObserver { |
FakeSyncNotifierObserver( |
const scoped_refptr<base::SequencedTaskRunner>& sync_task_runner, |
ChromeSyncNotificationBridge* bridge, |
- const syncer::ObjectIdPayloadMap& expected_payloads, |
+ const syncer::ObjectIdStateMap& expected_states, |
syncer::IncomingNotificationSource expected_source) |
: sync_task_runner_(sync_task_runner), |
bridge_(bridge), |
received_improper_notification_(false), |
notification_count_(0), |
- expected_payloads_(expected_payloads), |
+ expected_states_(expected_states), |
expected_source_(expected_source) { |
DCHECK(sync_task_runner_->RunsTasksOnCurrentThread()); |
bridge_->RegisterHandler(this); |
const syncer::ObjectIdSet& ids = |
- syncer::ObjectIdPayloadMapToSet(expected_payloads); |
+ syncer::ObjectIdStateMapToSet(expected_states); |
bridge_->UpdateRegisteredIds(this, ids); |
} |
@@ -68,7 +69,7 @@ class FakeSyncNotifierObserver : public syncer::SyncNotifierObserver { |
// SyncNotifierObserver implementation. |
virtual void OnIncomingNotification( |
- const syncer::ObjectIdPayloadMap& id_payloads, |
+ const syncer::ObjectIdStateMap& id_state_map, |
syncer::IncomingNotificationSource source) OVERRIDE { |
DCHECK(sync_task_runner_->RunsTasksOnCurrentThread()); |
notification_count_++; |
@@ -76,8 +77,8 @@ class FakeSyncNotifierObserver : public syncer::SyncNotifierObserver { |
LOG(ERROR) << "Received notification with wrong source"; |
received_improper_notification_ = true; |
} |
- if (expected_payloads_ != id_payloads) { |
- LOG(ERROR) << "Received wrong payload"; |
+ if (!::testing::Matches(Eq(expected_states_))(id_state_map)) { |
+ LOG(ERROR) << "Received wrong state"; |
received_improper_notification_ = true; |
} |
} |
@@ -99,7 +100,7 @@ class FakeSyncNotifierObserver : public syncer::SyncNotifierObserver { |
ChromeSyncNotificationBridge* const bridge_; |
bool received_improper_notification_; |
size_t notification_count_; |
- const syncer::ObjectIdPayloadMap expected_payloads_; |
+ const syncer::ObjectIdStateMap expected_states_; |
const syncer::IncomingNotificationSource expected_source_; |
}; |
@@ -142,16 +143,16 @@ class ChromeSyncNotificationBridgeTest : public testing::Test { |
} |
void CreateObserverWithExpectations( |
- const syncer::ModelTypePayloadMap& expected_payloads, |
+ const syncer::ModelTypeStateMap& expected_states, |
syncer::IncomingNotificationSource expected_source) { |
- const syncer::ObjectIdPayloadMap& expected_id_payloads = |
- syncer::ModelTypePayloadMapToObjectIdPayloadMap(expected_payloads); |
+ const syncer::ObjectIdStateMap& expected_id_state_map = |
+ syncer::ModelTypeStateMapToObjectIdStateMap(expected_states); |
ASSERT_TRUE(sync_thread_.message_loop_proxy()->PostTask( |
FROM_HERE, |
base::Bind( |
&ChromeSyncNotificationBridgeTest::CreateObserverOnSyncThread, |
base::Unretained(this), |
- expected_id_payloads, |
+ expected_id_state_map, |
expected_source))); |
BlockForSyncThread(); |
} |
@@ -169,11 +170,11 @@ class ChromeSyncNotificationBridgeTest : public testing::Test { |
void TriggerRefreshNotification( |
int type, |
- const syncer::ModelTypePayloadMap& payload_map) { |
+ const syncer::ModelTypeStateMap& state_map) { |
content::NotificationService::current()->Notify( |
type, |
content::Source<Profile>(&mock_profile_), |
- content::Details<const syncer::ModelTypePayloadMap>(&payload_map)); |
+ content::Details<const syncer::ModelTypeStateMap>(&state_map)); |
} |
private: |
@@ -190,13 +191,13 @@ class ChromeSyncNotificationBridgeTest : public testing::Test { |
} |
void CreateObserverOnSyncThread( |
- const syncer::ObjectIdPayloadMap& expected_payloads, |
+ const syncer::ObjectIdStateMap& expected_states, |
syncer::IncomingNotificationSource expected_source) { |
DCHECK(sync_thread_.message_loop_proxy()->RunsTasksOnCurrentThread()); |
sync_observer_ = new FakeSyncNotifierObserver( |
sync_thread_.message_loop_proxy(), |
bridge_.get(), |
- expected_payloads, |
+ expected_states, |
expected_source); |
} |
@@ -234,57 +235,59 @@ class ChromeSyncNotificationBridgeTest : public testing::Test { |
// Adds an observer on the sync thread, triggers a local refresh |
// notification, and ensures the bridge posts a LOCAL_NOTIFICATION |
-// with the proper payload to it. |
+// with the proper state to it. |
TEST_F(ChromeSyncNotificationBridgeTest, LocalNotification) { |
- syncer::ModelTypePayloadMap payload_map; |
- payload_map[syncer::SESSIONS] = ""; |
- CreateObserverWithExpectations(payload_map, syncer::LOCAL_NOTIFICATION); |
+ syncer::ModelTypeStateMap state_map; |
+ state_map.insert( |
+ std::make_pair(syncer::SESSIONS, syncer::InvalidationState())); |
+ CreateObserverWithExpectations(state_map, syncer::LOCAL_NOTIFICATION); |
TriggerRefreshNotification(chrome::NOTIFICATION_SYNC_REFRESH_LOCAL, |
- payload_map); |
+ state_map); |
VerifyAndDestroyObserver(); |
} |
// Adds an observer on the sync thread, triggers a remote refresh |
// notification, and ensures the bridge posts a REMOTE_NOTIFICATION |
-// with the proper payload to it. |
+// with the proper state to it. |
TEST_F(ChromeSyncNotificationBridgeTest, RemoteNotification) { |
- syncer::ModelTypePayloadMap payload_map; |
- payload_map[syncer::SESSIONS] = ""; |
- CreateObserverWithExpectations(payload_map, syncer::REMOTE_NOTIFICATION); |
+ syncer::ModelTypeStateMap state_map; |
+ state_map.insert( |
+ std::make_pair(syncer::SESSIONS, syncer::InvalidationState())); |
+ CreateObserverWithExpectations(state_map, syncer::REMOTE_NOTIFICATION); |
TriggerRefreshNotification(chrome::NOTIFICATION_SYNC_REFRESH_REMOTE, |
- payload_map); |
+ state_map); |
VerifyAndDestroyObserver(); |
} |
// Adds an observer on the sync thread, triggers a local refresh |
-// notification with empty payload map and ensures the bridge posts a |
-// LOCAL_NOTIFICATION with the proper payload to it. |
+// notification with empty state map and ensures the bridge posts a |
+// LOCAL_NOTIFICATION with the proper state to it. |
TEST_F(ChromeSyncNotificationBridgeTest, LocalNotificationEmptyPayloadMap) { |
const syncer::ModelTypeSet enabled_types( |
syncer::BOOKMARKS, syncer::PASSWORDS); |
- const syncer::ModelTypePayloadMap enabled_types_payload_map = |
- syncer::ModelTypePayloadMapFromEnumSet(enabled_types, std::string()); |
+ const syncer::ModelTypeStateMap enabled_types_state_map = |
+ syncer::ModelTypeSetToStateMap(enabled_types, std::string()); |
CreateObserverWithExpectations( |
- enabled_types_payload_map, syncer::LOCAL_NOTIFICATION); |
+ enabled_types_state_map, syncer::LOCAL_NOTIFICATION); |
UpdateBridgeEnabledTypes(enabled_types); |
TriggerRefreshNotification(chrome::NOTIFICATION_SYNC_REFRESH_LOCAL, |
- syncer::ModelTypePayloadMap()); |
+ syncer::ModelTypeStateMap()); |
VerifyAndDestroyObserver(); |
} |
// Adds an observer on the sync thread, triggers a remote refresh |
-// notification with empty payload map and ensures the bridge posts a |
-// REMOTE_NOTIFICATION with the proper payload to it. |
+// notification with empty state map and ensures the bridge posts a |
+// REMOTE_NOTIFICATION with the proper state to it. |
TEST_F(ChromeSyncNotificationBridgeTest, RemoteNotificationEmptyPayloadMap) { |
const syncer::ModelTypeSet enabled_types( |
syncer::BOOKMARKS, syncer::TYPED_URLS); |
- const syncer::ModelTypePayloadMap enabled_types_payload_map = |
- syncer::ModelTypePayloadMapFromEnumSet(enabled_types, std::string()); |
+ const syncer::ModelTypeStateMap enabled_types_state_map = |
+ syncer::ModelTypeSetToStateMap(enabled_types, std::string()); |
CreateObserverWithExpectations( |
- enabled_types_payload_map, syncer::REMOTE_NOTIFICATION); |
+ enabled_types_state_map, syncer::REMOTE_NOTIFICATION); |
UpdateBridgeEnabledTypes(enabled_types); |
TriggerRefreshNotification(chrome::NOTIFICATION_SYNC_REFRESH_REMOTE, |
- syncer::ModelTypePayloadMap()); |
+ syncer::ModelTypeStateMap()); |
VerifyAndDestroyObserver(); |
} |