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

Unified Diff: sync/internal_api/public/base/model_type_payload_map_unittest.cc

Issue 10690071: [Sync] Move model_type* from syncable/ to base/ (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 6 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
Index: sync/internal_api/public/base/model_type_payload_map_unittest.cc
diff --git a/sync/internal_api/public/syncable/model_type_payload_map_unittest.cc b/sync/internal_api/public/base/model_type_payload_map_unittest.cc
similarity index 53%
rename from sync/internal_api/public/syncable/model_type_payload_map_unittest.cc
rename to sync/internal_api/public/base/model_type_payload_map_unittest.cc
index dad782b018db7aabeebb5507951f7733126a4be1..485048dae6d051a244fd5cf5c94bdba1ae21d2c2 100644
--- a/sync/internal_api/public/syncable/model_type_payload_map_unittest.cc
+++ b/sync/internal_api/public/base/model_type_payload_map_unittest.cc
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "sync/internal_api/public/syncable/model_type_payload_map.h"
+#include "sync/internal_api/public/base/model_type_payload_map.h"
#include <string>
@@ -43,6 +43,33 @@ TEST_F(ModelTypePayloadMapTest, TypePayloadMapToValue) {
EXPECT_FALSE(value->HasKey("Preferences"));
}
+TEST_F(ModelTypePayloadMapTest, CoalescePayloads) {
+ syncable::ModelTypePayloadMap original;
+ std::string empty_payload;
+ std::string payload1 = "payload1";
+ std::string payload2 = "payload2";
+ std::string payload3 = "payload3";
+ original[syncable::BOOKMARKS] = empty_payload;
+ original[syncable::PASSWORDS] = payload1;
+ original[syncable::AUTOFILL] = payload2;
+ original[syncable::THEMES] = payload3;
+
+ syncable::ModelTypePayloadMap update;
+ update[syncable::BOOKMARKS] = empty_payload; // Same.
+ update[syncable::PASSWORDS] = empty_payload; // Overwrite with empty.
+ update[syncable::AUTOFILL] = payload1; // Overwrite with non-empty.
+ update[syncable::SESSIONS] = payload2; // New.
+ // Themes untouched.
+
+ CoalescePayloads(&original, update);
+ ASSERT_EQ(5U, original.size());
+ EXPECT_EQ(empty_payload, original[syncable::BOOKMARKS]);
+ EXPECT_EQ(payload1, original[syncable::PASSWORDS]);
+ EXPECT_EQ(payload1, original[syncable::AUTOFILL]);
+ EXPECT_EQ(payload2, original[syncable::SESSIONS]);
+ EXPECT_EQ(payload3, original[syncable::THEMES]);
+}
+
} // namespace
} // namespace syncable
} // namespace syncer
« no previous file with comments | « sync/internal_api/public/base/model_type_payload_map.cc ('k') | sync/internal_api/public/base/model_type_test_util.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698