Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(419)

Unified Diff: sync/notifier/sync_invalidation_listener_unittest.cc

Issue 23441042: Refactor common invalidation framework types (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Move DEPS rule Created 7 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « sync/notifier/sync_invalidation_listener.cc ('k') | sync/sessions/data_type_tracker.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: sync/notifier/sync_invalidation_listener_unittest.cc
diff --git a/sync/notifier/sync_invalidation_listener_unittest.cc b/sync/notifier/sync_invalidation_listener_unittest.cc
index d3aa712b7d973a7e00f3362e9dcd6c10dd7c9747..18dd12317c0c236184531f2704e8ed6a6a038a39 100644
--- a/sync/notifier/sync_invalidation_listener_unittest.cc
+++ b/sync/notifier/sync_invalidation_listener_unittest.cc
@@ -141,37 +141,62 @@ class FakeDelegate : public SyncInvalidationListener::Delegate {
state_(TRANSIENT_INVALIDATION_ERROR) {}
virtual ~FakeDelegate() {}
- int GetInvalidationCount(const ObjectId& id) const {
- ObjectIdCountMap::const_iterator it = invalidation_counts_.find(id);
- return (it == invalidation_counts_.end()) ? 0 : it->second;
+ size_t GetInvalidationCount(const ObjectId& id) const {
+ Map::const_iterator it = invalidations_.find(id);
+ if (it == invalidations_.end()) {
+ return 0;
+ } else {
+ return it->second.size();
+ }
}
int64 GetVersion(const ObjectId& id) const {
- ObjectIdInvalidationMap::const_iterator it = invalidations_.find(id);
- return (it == invalidations_.end()) ? 0 : it->second.version;
+ Map::const_iterator it = invalidations_.find(id);
+ if (it == invalidations_.end()) {
+ ADD_FAILURE() << "No invalidations for ID " << ObjectIdToString(id);
+ return 0;
+ } else {
+ return it->second.back().version();
+ }
}
std::string GetPayload(const ObjectId& id) const {
- ObjectIdInvalidationMap::const_iterator it = invalidations_.find(id);
- return (it == invalidations_.end()) ? std::string() : it->second.payload;
+ Map::const_iterator it = invalidations_.find(id);
+ if (it == invalidations_.end()) {
+ ADD_FAILURE() << "No invalidations for ID " << ObjectIdToString(id);
+ return "";
+ } else {
+ return it->second.back().payload();
+ }
}
+ bool IsUnknownVersion(const ObjectId& id) const {
+ Map::const_iterator it = invalidations_.find(id);
+ if (it == invalidations_.end()) {
+ ADD_FAILURE() << "No invalidations for ID " << ObjectIdToString(id);
+ return false;
+ } else {
+ return it->second.back().is_unknown_version();
+ }
+ }
InvalidatorState GetInvalidatorState() const {
return state_;
}
void Acknowledge(const ObjectId& id) {
- listener_->Acknowledge(id, invalidations_[id].ack_handle);
+ listener_->Acknowledge(id, invalidations_[id].back().ack_handle());
}
// SyncInvalidationListener::Delegate implementation.
virtual void OnInvalidate(
const ObjectIdInvalidationMap& invalidation_map) OVERRIDE {
- for (ObjectIdInvalidationMap::const_iterator it = invalidation_map.begin();
- it != invalidation_map.end(); ++it) {
- ++invalidation_counts_[it->first];
- invalidations_[it->first] = it->second;
+ ObjectIdSet ids = invalidation_map.GetObjectIds();
+ for (ObjectIdSet::iterator it = ids.begin(); it != ids.end(); ++it) {
+ const SingleObjectInvalidationSet& incoming =
+ invalidation_map.ForObject(*it);
+ List& list = invalidations_[*it];
+ list.insert(list.end(), incoming.begin(), incoming.end());
}
}
@@ -181,8 +206,9 @@ class FakeDelegate : public SyncInvalidationListener::Delegate {
private:
typedef std::map<ObjectId, int, ObjectIdLessThan> ObjectIdCountMap;
- ObjectIdCountMap invalidation_counts_;
- ObjectIdInvalidationMap invalidations_;
+ typedef std::vector<Invalidation> List;
+ typedef std::map<ObjectId, List, ObjectIdLessThan> Map;
+ Map invalidations_;
SyncInvalidationListener* listener_;
InvalidatorState state_;
};
@@ -308,6 +334,10 @@ class SyncInvalidationListenerTest : public testing::Test {
return fake_delegate_.GetPayload(id);
}
+ bool IsUnknownVersion(const ObjectId& id) const {
+ return fake_delegate_.IsUnknownVersion(id);
+ }
+
InvalidatorState GetInvalidatorState() const {
return fake_delegate_.GetInvalidatorState();
}
@@ -489,7 +519,6 @@ TEST_F(SyncInvalidationListenerTest, InvalidateUnregisteredWithPayload) {
const ObjectId& id = kUnregisteredId;
EXPECT_EQ(0, GetInvalidationCount(id));
- EXPECT_EQ("", GetPayload(id));
EXPECT_EQ(kMinVersion, GetMaxVersion(id));
FireInvalidate(id, kVersion1, "unregistered payload");
@@ -524,25 +553,18 @@ TEST_F(SyncInvalidationListenerTest, InvalidateVersion) {
VerifyAcknowledged(id);
}
-// Fire an invalidation with an unknown version twice. It shouldn't
-// update the payload or version either time, but it should still be
-// processed.
+// Fire an invalidation with an unknown version twice. It shouldn't update the
+// version either time, but it should still be processed.
TEST_F(SyncInvalidationListenerTest, InvalidateUnknownVersion) {
const ObjectId& id = kBookmarksId_;
FireInvalidateUnknownVersion(id);
EXPECT_EQ(1, GetInvalidationCount(id));
- EXPECT_EQ(Invalidation::kUnknownVersion, GetVersion(id));
- EXPECT_EQ("", GetPayload(id));
- EXPECT_EQ(kMinVersion, GetMaxVersion(id));
+ EXPECT_TRUE(IsUnknownVersion(id));
AcknowledgeAndVerify(id);
FireInvalidateUnknownVersion(id);
-
- EXPECT_EQ(2, GetInvalidationCount(id));
- EXPECT_EQ(Invalidation::kUnknownVersion, GetVersion(id));
- EXPECT_EQ("", GetPayload(id));
EXPECT_EQ(kMinVersion, GetMaxVersion(id));
AcknowledgeAndVerify(id);
}
@@ -555,8 +577,7 @@ TEST_F(SyncInvalidationListenerTest, InvalidateAll) {
for (ObjectIdSet::const_iterator it = registered_ids_.begin();
it != registered_ids_.end(); ++it) {
EXPECT_EQ(1, GetInvalidationCount(*it));
- EXPECT_EQ(Invalidation::kUnknownVersion, GetVersion(*it));
- EXPECT_EQ("", GetPayload(*it));
+ EXPECT_TRUE(IsUnknownVersion(*it));
EXPECT_EQ(kMinVersion, GetMaxVersion(*it));
AcknowledgeAndVerify(*it);
}
@@ -601,14 +622,12 @@ TEST_F(SyncInvalidationListenerTest, InvalidateMultipleIds) {
FireInvalidateAll();
EXPECT_EQ(2, GetInvalidationCount(kBookmarksId_));
- EXPECT_EQ(Invalidation::kUnknownVersion, GetVersion(kBookmarksId_));
- EXPECT_EQ("", GetPayload(kBookmarksId_));
+ EXPECT_TRUE(IsUnknownVersion(kBookmarksId_));
EXPECT_EQ(3, GetMaxVersion(kBookmarksId_));
AcknowledgeAndVerify(kBookmarksId_);
EXPECT_EQ(1, GetInvalidationCount(kPreferencesId_));
- EXPECT_EQ(Invalidation::kUnknownVersion, GetVersion(kPreferencesId_));
- EXPECT_EQ("", GetPayload(kPreferencesId_));
+ EXPECT_TRUE(IsUnknownVersion(kBookmarksId_));
EXPECT_EQ(kMinVersion, GetMaxVersion(kPreferencesId_));
AcknowledgeAndVerify(kPreferencesId_);
« no previous file with comments | « sync/notifier/sync_invalidation_listener.cc ('k') | sync/sessions/data_type_tracker.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698