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

Side by Side Diff: sync/api/sync_change_unittest.cc

Issue 10690128: Reland r145993. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 5 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 | Annotate | Revision Log
« no previous file with comments | « sync/api/sync_change.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "sync/api/sync_change.h" 5 #include "sync/api/sync_change.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/memory/scoped_ptr.h" 9 #include "base/memory/scoped_ptr.h"
10 #include "base/values.h" 10 #include "base/values.h"
11 #include "sync/protocol/preference_specifics.pb.h" 11 #include "sync/protocol/preference_specifics.pb.h"
12 #include "sync/protocol/proto_value_conversions.h" 12 #include "sync/protocol/proto_value_conversions.h"
13 #include "sync/protocol/sync.pb.h" 13 #include "sync/protocol/sync.pb.h"
14 #include "testing/gtest/include/gtest/gtest.h" 14 #include "testing/gtest/include/gtest/gtest.h"
15 15
16 namespace syncer { 16 namespace syncer {
17 17
18 // Ordered list of SyncChange's. 18 // Ordered list of SyncChange's.
19 typedef std::vector<SyncChange> SyncChangeList; 19 typedef std::vector<SyncChange> SyncChangeList;
20 20
21 namespace { 21 namespace {
22 22
23 typedef testing::Test SyncChangeTest; 23 typedef testing::Test SyncChangeTest;
24 24
25 TEST_F(SyncChangeTest, LocalDelete) { 25 TEST_F(SyncChangeTest, LocalDelete) {
26 SyncChange::SyncChangeType change_type = SyncChange::ACTION_DELETE; 26 SyncChange::SyncChangeType change_type = SyncChange::ACTION_DELETE;
27 std::string tag = "client_tag"; 27 std::string tag = "client_tag";
28 SyncChange e(change_type, 28 SyncChange e(FROM_HERE,
29 change_type,
29 SyncData::CreateLocalDelete(tag, syncer::PREFERENCES)); 30 SyncData::CreateLocalDelete(tag, syncer::PREFERENCES));
30 EXPECT_EQ(change_type, e.change_type()); 31 EXPECT_EQ(change_type, e.change_type());
31 EXPECT_EQ(tag, e.sync_data().GetTag()); 32 EXPECT_EQ(tag, e.sync_data().GetTag());
32 EXPECT_EQ(syncer::PREFERENCES, e.sync_data().GetDataType()); 33 EXPECT_EQ(syncer::PREFERENCES, e.sync_data().GetDataType());
33 } 34 }
34 35
35 TEST_F(SyncChangeTest, LocalUpdate) { 36 TEST_F(SyncChangeTest, LocalUpdate) {
36 SyncChange::SyncChangeType change_type = SyncChange::ACTION_UPDATE; 37 SyncChange::SyncChangeType change_type = SyncChange::ACTION_UPDATE;
37 sync_pb::EntitySpecifics specifics; 38 sync_pb::EntitySpecifics specifics;
38 sync_pb::PreferenceSpecifics* pref_specifics = specifics.mutable_preference(); 39 sync_pb::PreferenceSpecifics* pref_specifics = specifics.mutable_preference();
39 pref_specifics->set_name("test"); 40 pref_specifics->set_name("test");
40 std::string tag = "client_tag"; 41 std::string tag = "client_tag";
41 std::string title = "client_title"; 42 std::string title = "client_title";
42 SyncChange e(change_type, 43 SyncChange e(FROM_HERE,
44 change_type,
43 SyncData::CreateLocalData(tag, title, specifics)); 45 SyncData::CreateLocalData(tag, title, specifics));
44 EXPECT_EQ(change_type, e.change_type()); 46 EXPECT_EQ(change_type, e.change_type());
45 EXPECT_EQ(tag, e.sync_data().GetTag()); 47 EXPECT_EQ(tag, e.sync_data().GetTag());
46 EXPECT_EQ(title, e.sync_data().GetTitle()); 48 EXPECT_EQ(title, e.sync_data().GetTitle());
47 EXPECT_EQ(syncer::PREFERENCES, e.sync_data().GetDataType()); 49 EXPECT_EQ(syncer::PREFERENCES, e.sync_data().GetDataType());
48 scoped_ptr<DictionaryValue> ref_spec(EntitySpecificsToValue(specifics)); 50 scoped_ptr<DictionaryValue> ref_spec(EntitySpecificsToValue(specifics));
49 scoped_ptr<DictionaryValue> e_spec(EntitySpecificsToValue( 51 scoped_ptr<DictionaryValue> e_spec(EntitySpecificsToValue(
50 e.sync_data().GetSpecifics())); 52 e.sync_data().GetSpecifics()));
51 EXPECT_TRUE(ref_spec->Equals(e_spec.get())); 53 EXPECT_TRUE(ref_spec->Equals(e_spec.get()));
52 } 54 }
53 55
54 TEST_F(SyncChangeTest, LocalAdd) { 56 TEST_F(SyncChangeTest, LocalAdd) {
55 SyncChange::SyncChangeType change_type = SyncChange::ACTION_ADD; 57 SyncChange::SyncChangeType change_type = SyncChange::ACTION_ADD;
56 sync_pb::EntitySpecifics specifics; 58 sync_pb::EntitySpecifics specifics;
57 sync_pb::PreferenceSpecifics* pref_specifics = specifics.mutable_preference(); 59 sync_pb::PreferenceSpecifics* pref_specifics = specifics.mutable_preference();
58 pref_specifics->set_name("test"); 60 pref_specifics->set_name("test");
59 std::string tag = "client_tag"; 61 std::string tag = "client_tag";
60 std::string title = "client_title"; 62 std::string title = "client_title";
61 SyncChange e(change_type, 63 SyncChange e(FROM_HERE,
64 change_type,
62 SyncData::CreateLocalData(tag, title, specifics)); 65 SyncData::CreateLocalData(tag, title, specifics));
63 EXPECT_EQ(change_type, e.change_type()); 66 EXPECT_EQ(change_type, e.change_type());
64 EXPECT_EQ(tag, e.sync_data().GetTag()); 67 EXPECT_EQ(tag, e.sync_data().GetTag());
65 EXPECT_EQ(title, e.sync_data().GetTitle()); 68 EXPECT_EQ(title, e.sync_data().GetTitle());
66 EXPECT_EQ(syncer::PREFERENCES, e.sync_data().GetDataType()); 69 EXPECT_EQ(syncer::PREFERENCES, e.sync_data().GetDataType());
67 scoped_ptr<DictionaryValue> ref_spec(EntitySpecificsToValue(specifics)); 70 scoped_ptr<DictionaryValue> ref_spec(EntitySpecificsToValue(specifics));
68 scoped_ptr<DictionaryValue> e_spec(EntitySpecificsToValue( 71 scoped_ptr<DictionaryValue> e_spec(EntitySpecificsToValue(
69 e.sync_data().GetSpecifics())); 72 e.sync_data().GetSpecifics()));
70 EXPECT_TRUE(ref_spec->Equals(e_spec.get())); 73 EXPECT_TRUE(ref_spec->Equals(e_spec.get()));
71 } 74 }
72 75
73 TEST_F(SyncChangeTest, SyncerChanges) { 76 TEST_F(SyncChangeTest, SyncerChanges) {
74 SyncChangeList change_list; 77 SyncChangeList change_list;
75 78
76 // Create an update. 79 // Create an update.
77 sync_pb::EntitySpecifics update_specifics; 80 sync_pb::EntitySpecifics update_specifics;
78 sync_pb::PreferenceSpecifics* pref_specifics = 81 sync_pb::PreferenceSpecifics* pref_specifics =
79 update_specifics.mutable_preference(); 82 update_specifics.mutable_preference();
80 pref_specifics->set_name("update"); 83 pref_specifics->set_name("update");
81 change_list.push_back(SyncChange( 84 change_list.push_back(SyncChange(
85 FROM_HERE,
82 SyncChange::ACTION_UPDATE, 86 SyncChange::ACTION_UPDATE,
83 SyncData::CreateRemoteData(1, update_specifics))); 87 SyncData::CreateRemoteData(1, update_specifics)));
84 88
85 // Create an add. 89 // Create an add.
86 sync_pb::EntitySpecifics add_specifics; 90 sync_pb::EntitySpecifics add_specifics;
87 pref_specifics = add_specifics.mutable_preference(); 91 pref_specifics = add_specifics.mutable_preference();
88 pref_specifics->set_name("add"); 92 pref_specifics->set_name("add");
89 change_list.push_back(SyncChange( 93 change_list.push_back(SyncChange(
94 FROM_HERE,
90 SyncChange::ACTION_ADD, 95 SyncChange::ACTION_ADD,
91 SyncData::CreateRemoteData(2, add_specifics))); 96 SyncData::CreateRemoteData(2, add_specifics)));
92 97
93 // Create a delete. 98 // Create a delete.
94 sync_pb::EntitySpecifics delete_specifics; 99 sync_pb::EntitySpecifics delete_specifics;
95 pref_specifics = delete_specifics.mutable_preference(); 100 pref_specifics = delete_specifics.mutable_preference();
96 pref_specifics->set_name("add"); 101 pref_specifics->set_name("add");
97 change_list.push_back(SyncChange( 102 change_list.push_back(SyncChange(
103 FROM_HERE,
98 SyncChange::ACTION_DELETE, 104 SyncChange::ACTION_DELETE,
99 SyncData::CreateRemoteData(3, delete_specifics))); 105 SyncData::CreateRemoteData(3, delete_specifics)));
100 106
101 ASSERT_EQ(3U, change_list.size()); 107 ASSERT_EQ(3U, change_list.size());
102 108
103 // Verify update. 109 // Verify update.
104 SyncChange e = change_list[0]; 110 SyncChange e = change_list[0];
105 EXPECT_EQ(SyncChange::ACTION_UPDATE, e.change_type()); 111 EXPECT_EQ(SyncChange::ACTION_UPDATE, e.change_type());
106 EXPECT_EQ(syncer::PREFERENCES, e.sync_data().GetDataType()); 112 EXPECT_EQ(syncer::PREFERENCES, e.sync_data().GetDataType());
107 scoped_ptr<DictionaryValue> ref_spec(EntitySpecificsToValue( 113 scoped_ptr<DictionaryValue> ref_spec(EntitySpecificsToValue(
(...skipping 15 matching lines...) Expand all
123 EXPECT_EQ(SyncChange::ACTION_DELETE, e.change_type()); 129 EXPECT_EQ(SyncChange::ACTION_DELETE, e.change_type());
124 EXPECT_EQ(syncer::PREFERENCES, e.sync_data().GetDataType()); 130 EXPECT_EQ(syncer::PREFERENCES, e.sync_data().GetDataType());
125 ref_spec.reset(EntitySpecificsToValue(delete_specifics)); 131 ref_spec.reset(EntitySpecificsToValue(delete_specifics));
126 e_spec.reset(EntitySpecificsToValue(e.sync_data().GetSpecifics())); 132 e_spec.reset(EntitySpecificsToValue(e.sync_data().GetSpecifics()));
127 EXPECT_TRUE(ref_spec->Equals(e_spec.get())); 133 EXPECT_TRUE(ref_spec->Equals(e_spec.get()));
128 } 134 }
129 135
130 } // namespace 136 } // namespace
131 137
132 } // namespace syncer 138 } // namespace syncer
OLDNEW
« no previous file with comments | « sync/api/sync_change.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698