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

Side by Side Diff: components/reading_list/core/reading_list_store_unittest.cc

Issue 2923363004: [Sync] Migrate bridge implementations to change list based MergeSyncData (Closed)
Patch Set: Created 3 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 unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "components/reading_list/core/reading_list_store.h" 5 #include "components/reading_list/core/reading_list_store.h"
6 6
7 #include <map> 7 #include <map>
8 #include <set> 8 #include <set>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after
217 AssertCounts(1, 0, 0, 0, 0); 217 AssertCounts(1, 0, 0, 0, 0);
218 syncer::EntityData* data = put_multimap_["http://unread.example.com/"].get(); 218 syncer::EntityData* data = put_multimap_["http://unread.example.com/"].get();
219 const sync_pb::ReadingListSpecifics& specifics = 219 const sync_pb::ReadingListSpecifics& specifics =
220 data->specifics.reading_list(); 220 data->specifics.reading_list();
221 EXPECT_EQ(specifics.title(), "unread title"); 221 EXPECT_EQ(specifics.title(), "unread title");
222 EXPECT_EQ(specifics.url(), "http://unread.example.com/"); 222 EXPECT_EQ(specifics.url(), "http://unread.example.com/");
223 EXPECT_EQ(specifics.status(), sync_pb::ReadingListSpecifics::UNSEEN); 223 EXPECT_EQ(specifics.status(), sync_pb::ReadingListSpecifics::UNSEEN);
224 } 224 }
225 225
226 TEST_F(ReadingListStoreTest, SyncMergeOneEntry) { 226 TEST_F(ReadingListStoreTest, SyncMergeOneEntry) {
227 syncer::EntityDataMap remote_input; 227 syncer::EntityChangeList remote_input;
228 ReadingListEntry entry(GURL("http://read.example.com/"), "read title", 228 ReadingListEntry entry(GURL("http://read.example.com/"), "read title",
229 AdvanceAndGetTime(clock_)); 229 AdvanceAndGetTime(clock_));
230 entry.SetRead(true, AdvanceAndGetTime(clock_)); 230 entry.SetRead(true, AdvanceAndGetTime(clock_));
231 std::unique_ptr<sync_pb::ReadingListSpecifics> specifics = 231 std::unique_ptr<sync_pb::ReadingListSpecifics> specifics =
232 entry.AsReadingListSpecifics(); 232 entry.AsReadingListSpecifics();
233 233
234 syncer::EntityData data; 234 syncer::EntityData data;
235 data.client_tag_hash = "http://read.example.com/"; 235 data.client_tag_hash = "http://read.example.com/";
236 *data.specifics.mutable_reading_list() = *specifics; 236 *data.specifics.mutable_reading_list() = *specifics;
237 237
238 remote_input["http://read.example.com/"] = data.PassToPtr(); 238 remote_input.push_back(syncer::EntityChange::CreateAdd(
239 "http://read.example.com/", data.PassToPtr()));
239 240
240 std::unique_ptr<syncer::MetadataChangeList> metadata_changes( 241 std::unique_ptr<syncer::MetadataChangeList> metadata_changes(
241 reading_list_store_->CreateMetadataChangeList()); 242 reading_list_store_->CreateMetadataChangeList());
242 auto error = reading_list_store_->MergeSyncData(std::move(metadata_changes), 243 auto error = reading_list_store_->MergeSyncData(std::move(metadata_changes),
243 remote_input); 244 remote_input);
244 AssertCounts(0, 0, 1, 0, 0); 245 AssertCounts(0, 0, 1, 0, 0);
245 EXPECT_EQ(sync_added_.size(), 1u); 246 EXPECT_EQ(sync_added_.size(), 1u);
246 EXPECT_EQ(sync_added_.count("http://read.example.com/"), 1u); 247 EXPECT_EQ(sync_added_.count("http://read.example.com/"), 1u);
247 EXPECT_EQ(sync_added_["http://read.example.com/"], true); 248 EXPECT_EQ(sync_added_["http://read.example.com/"], true);
248 } 249 }
249 250
250 TEST_F(ReadingListStoreTest, ApplySyncChangesOneAdd) { 251 TEST_F(ReadingListStoreTest, ApplySyncChangesOneAdd) {
251 syncer::EntityDataMap remote_input;
252 ReadingListEntry entry(GURL("http://read.example.com/"), "read title", 252 ReadingListEntry entry(GURL("http://read.example.com/"), "read title",
253 AdvanceAndGetTime(clock_)); 253 AdvanceAndGetTime(clock_));
254 entry.SetRead(true, AdvanceAndGetTime(clock_)); 254 entry.SetRead(true, AdvanceAndGetTime(clock_));
255 std::unique_ptr<sync_pb::ReadingListSpecifics> specifics = 255 std::unique_ptr<sync_pb::ReadingListSpecifics> specifics =
256 entry.AsReadingListSpecifics(); 256 entry.AsReadingListSpecifics();
257 syncer::EntityData data; 257 syncer::EntityData data;
258 data.client_tag_hash = "http://read.example.com/"; 258 data.client_tag_hash = "http://read.example.com/";
259 *data.specifics.mutable_reading_list() = *specifics; 259 *data.specifics.mutable_reading_list() = *specifics;
260 260
261 syncer::EntityChangeList add_changes; 261 syncer::EntityChangeList add_changes;
262 262
263 add_changes.push_back(syncer::EntityChange::CreateAdd( 263 add_changes.push_back(syncer::EntityChange::CreateAdd(
264 "http://read.example.com/", data.PassToPtr())); 264 "http://read.example.com/", data.PassToPtr()));
265 auto error = reading_list_store_->ApplySyncChanges( 265 auto error = reading_list_store_->ApplySyncChanges(
266 reading_list_store_->CreateMetadataChangeList(), add_changes); 266 reading_list_store_->CreateMetadataChangeList(), add_changes);
267 AssertCounts(0, 0, 1, 0, 0); 267 AssertCounts(0, 0, 1, 0, 0);
268 EXPECT_EQ(sync_added_.size(), 1u); 268 EXPECT_EQ(sync_added_.size(), 1u);
269 EXPECT_EQ(sync_added_.count("http://read.example.com/"), 1u); 269 EXPECT_EQ(sync_added_.count("http://read.example.com/"), 1u);
270 EXPECT_EQ(sync_added_["http://read.example.com/"], true); 270 EXPECT_EQ(sync_added_["http://read.example.com/"], true);
271 } 271 }
272 272
273 TEST_F(ReadingListStoreTest, ApplySyncChangesOneMerge) { 273 TEST_F(ReadingListStoreTest, ApplySyncChangesOneMerge) {
274 syncer::EntityDataMap remote_input;
275 AdvanceAndGetTime(clock_); 274 AdvanceAndGetTime(clock_);
276 model_->AddEntry(GURL("http://unread.example.com/"), "unread title", 275 model_->AddEntry(GURL("http://unread.example.com/"), "unread title",
277 reading_list::ADDED_VIA_CURRENT_APP); 276 reading_list::ADDED_VIA_CURRENT_APP);
278 277
279 ReadingListEntry new_entry(GURL("http://unread.example.com/"), "unread title", 278 ReadingListEntry new_entry(GURL("http://unread.example.com/"), "unread title",
280 AdvanceAndGetTime(clock_)); 279 AdvanceAndGetTime(clock_));
281 new_entry.SetRead(true, AdvanceAndGetTime(clock_)); 280 new_entry.SetRead(true, AdvanceAndGetTime(clock_));
282 std::unique_ptr<sync_pb::ReadingListSpecifics> specifics = 281 std::unique_ptr<sync_pb::ReadingListSpecifics> specifics =
283 new_entry.AsReadingListSpecifics(); 282 new_entry.AsReadingListSpecifics();
284 syncer::EntityData data; 283 syncer::EntityData data;
(...skipping 10 matching lines...) Expand all
295 EXPECT_EQ(sync_merged_.count("http://unread.example.com/"), 1u); 294 EXPECT_EQ(sync_merged_.count("http://unread.example.com/"), 1u);
296 EXPECT_EQ(sync_merged_["http://unread.example.com/"], true); 295 EXPECT_EQ(sync_merged_["http://unread.example.com/"], true);
297 } 296 }
298 297
299 TEST_F(ReadingListStoreTest, ApplySyncChangesOneIgnored) { 298 TEST_F(ReadingListStoreTest, ApplySyncChangesOneIgnored) {
300 // Read entry but with unread URL as it must update the other one. 299 // Read entry but with unread URL as it must update the other one.
301 ReadingListEntry old_entry(GURL("http://unread.example.com/"), 300 ReadingListEntry old_entry(GURL("http://unread.example.com/"),
302 "old unread title", AdvanceAndGetTime(clock_)); 301 "old unread title", AdvanceAndGetTime(clock_));
303 old_entry.SetRead(true, AdvanceAndGetTime(clock_)); 302 old_entry.SetRead(true, AdvanceAndGetTime(clock_));
304 303
305 syncer::EntityDataMap remote_input;
306 AdvanceAndGetTime(clock_); 304 AdvanceAndGetTime(clock_);
307 model_->AddEntry(GURL("http://unread.example.com/"), "new unread title", 305 model_->AddEntry(GURL("http://unread.example.com/"), "new unread title",
308 reading_list::ADDED_VIA_CURRENT_APP); 306 reading_list::ADDED_VIA_CURRENT_APP);
309 AssertCounts(0, 0, 0, 0, 0); 307 AssertCounts(0, 0, 0, 0, 0);
310 308
311 std::unique_ptr<sync_pb::ReadingListSpecifics> specifics = 309 std::unique_ptr<sync_pb::ReadingListSpecifics> specifics =
312 old_entry.AsReadingListSpecifics(); 310 old_entry.AsReadingListSpecifics();
313 syncer::EntityData data; 311 syncer::EntityData data;
314 data.client_tag_hash = "http://unread.example.com/"; 312 data.client_tag_hash = "http://unread.example.com/";
315 *data.specifics.mutable_reading_list() = *specifics; 313 *data.specifics.mutable_reading_list() = *specifics;
(...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after
449 entryB.set_status(status_oder[index_a]); 447 entryB.set_status(status_oder[index_a]);
450 ExpectAB(entryA, entryB, true); 448 ExpectAB(entryA, entryB, true);
451 ExpectAB(entryB, entryA, true); 449 ExpectAB(entryB, entryA, true);
452 for (int index_b = index_a + 1; index_b < 3; index_b++) { 450 for (int index_b = index_a + 1; index_b < 3; index_b++) {
453 entryB.set_status(status_oder[index_b]); 451 entryB.set_status(status_oder[index_b]);
454 ExpectAB(entryA, entryB, true); 452 ExpectAB(entryA, entryB, true);
455 ExpectAB(entryB, entryA, false); 453 ExpectAB(entryB, entryA, false);
456 } 454 }
457 } 455 }
458 } 456 }
OLDNEW
« no previous file with comments | « components/reading_list/core/reading_list_store.cc ('k') | components/sync/device_info/device_info_sync_bridge.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698