OLD | NEW |
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/message_loop/message_loop.h" |
10 #include "base/time/time.h" | 11 #include "base/time/time.h" |
11 #include "base/values.h" | 12 #include "base/values.h" |
| 13 #include "sync/api/attachments/attachment_id.h" |
| 14 #include "sync/api/attachments/attachment_service_proxy_for_test.h" |
12 #include "sync/protocol/preference_specifics.pb.h" | 15 #include "sync/protocol/preference_specifics.pb.h" |
13 #include "sync/protocol/proto_value_conversions.h" | 16 #include "sync/protocol/proto_value_conversions.h" |
14 #include "sync/protocol/sync.pb.h" | 17 #include "sync/protocol/sync.pb.h" |
15 #include "testing/gtest/include/gtest/gtest.h" | 18 #include "testing/gtest/include/gtest/gtest.h" |
16 | 19 |
17 namespace syncer { | 20 namespace syncer { |
18 | 21 |
19 // Ordered list of SyncChange's. | 22 // Ordered list of SyncChange's. |
20 typedef std::vector<SyncChange> SyncChangeList; | 23 typedef std::vector<SyncChange> SyncChangeList; |
21 | 24 |
22 namespace { | 25 namespace { |
23 | 26 |
24 typedef testing::Test SyncChangeTest; | 27 class SyncChangeTest : public testing::Test { |
| 28 private: |
| 29 base::MessageLoop message_loop; |
| 30 }; |
25 | 31 |
26 TEST_F(SyncChangeTest, LocalDelete) { | 32 TEST_F(SyncChangeTest, LocalDelete) { |
27 SyncChange::SyncChangeType change_type = SyncChange::ACTION_DELETE; | 33 SyncChange::SyncChangeType change_type = SyncChange::ACTION_DELETE; |
28 std::string tag = "client_tag"; | 34 std::string tag = "client_tag"; |
29 SyncChange e(FROM_HERE, | 35 SyncChange e(FROM_HERE, |
30 change_type, | 36 change_type, |
31 SyncData::CreateLocalDelete(tag, PREFERENCES)); | 37 SyncData::CreateLocalDelete(tag, PREFERENCES)); |
32 EXPECT_EQ(change_type, e.change_type()); | 38 EXPECT_EQ(change_type, e.change_type()); |
33 EXPECT_EQ(tag, SyncDataLocal(e.sync_data()).GetTag()); | 39 EXPECT_EQ(tag, SyncDataLocal(e.sync_data()).GetTag()); |
34 EXPECT_EQ(PREFERENCES, e.sync_data().GetDataType()); | 40 EXPECT_EQ(PREFERENCES, e.sync_data().GetDataType()); |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
78 SyncChangeList change_list; | 84 SyncChangeList change_list; |
79 | 85 |
80 // Create an update. | 86 // Create an update. |
81 sync_pb::EntitySpecifics update_specifics; | 87 sync_pb::EntitySpecifics update_specifics; |
82 sync_pb::PreferenceSpecifics* pref_specifics = | 88 sync_pb::PreferenceSpecifics* pref_specifics = |
83 update_specifics.mutable_preference(); | 89 update_specifics.mutable_preference(); |
84 pref_specifics->set_name("update"); | 90 pref_specifics->set_name("update"); |
85 change_list.push_back(SyncChange( | 91 change_list.push_back(SyncChange( |
86 FROM_HERE, | 92 FROM_HERE, |
87 SyncChange::ACTION_UPDATE, | 93 SyncChange::ACTION_UPDATE, |
88 SyncData::CreateRemoteData(1, update_specifics, base::Time()))); | 94 SyncData::CreateRemoteData(1, |
| 95 update_specifics, |
| 96 base::Time(), |
| 97 syncer::AttachmentIdList(), |
| 98 syncer::AttachmentServiceProxyForTest()))); |
89 | 99 |
90 // Create an add. | 100 // Create an add. |
91 sync_pb::EntitySpecifics add_specifics; | 101 sync_pb::EntitySpecifics add_specifics; |
92 pref_specifics = add_specifics.mutable_preference(); | 102 pref_specifics = add_specifics.mutable_preference(); |
93 pref_specifics->set_name("add"); | 103 pref_specifics->set_name("add"); |
94 change_list.push_back(SyncChange( | 104 change_list.push_back(SyncChange( |
95 FROM_HERE, | 105 FROM_HERE, |
96 SyncChange::ACTION_ADD, | 106 SyncChange::ACTION_ADD, |
97 SyncData::CreateRemoteData(2, add_specifics, base::Time()))); | 107 SyncData::CreateRemoteData(2, |
| 108 add_specifics, |
| 109 base::Time(), |
| 110 syncer::AttachmentIdList(), |
| 111 syncer::AttachmentServiceProxyForTest()))); |
98 | 112 |
99 // Create a delete. | 113 // Create a delete. |
100 sync_pb::EntitySpecifics delete_specifics; | 114 sync_pb::EntitySpecifics delete_specifics; |
101 pref_specifics = delete_specifics.mutable_preference(); | 115 pref_specifics = delete_specifics.mutable_preference(); |
102 pref_specifics->set_name("add"); | 116 pref_specifics->set_name("add"); |
103 change_list.push_back(SyncChange( | 117 change_list.push_back(SyncChange( |
104 FROM_HERE, | 118 FROM_HERE, |
105 SyncChange::ACTION_DELETE, | 119 SyncChange::ACTION_DELETE, |
106 SyncData::CreateRemoteData(3, delete_specifics, base::Time()))); | 120 SyncData::CreateRemoteData(3, |
| 121 delete_specifics, |
| 122 base::Time(), |
| 123 syncer::AttachmentIdList(), |
| 124 syncer::AttachmentServiceProxyForTest()))); |
107 | 125 |
108 ASSERT_EQ(3U, change_list.size()); | 126 ASSERT_EQ(3U, change_list.size()); |
109 | 127 |
110 // Verify update. | 128 // Verify update. |
111 SyncChange e = change_list[0]; | 129 SyncChange e = change_list[0]; |
112 EXPECT_EQ(SyncChange::ACTION_UPDATE, e.change_type()); | 130 EXPECT_EQ(SyncChange::ACTION_UPDATE, e.change_type()); |
113 EXPECT_EQ(PREFERENCES, e.sync_data().GetDataType()); | 131 EXPECT_EQ(PREFERENCES, e.sync_data().GetDataType()); |
114 scoped_ptr<base::DictionaryValue> ref_spec(EntitySpecificsToValue( | 132 scoped_ptr<base::DictionaryValue> ref_spec(EntitySpecificsToValue( |
115 update_specifics)); | 133 update_specifics)); |
116 scoped_ptr<base::DictionaryValue> e_spec(EntitySpecificsToValue( | 134 scoped_ptr<base::DictionaryValue> e_spec(EntitySpecificsToValue( |
(...skipping 13 matching lines...) Expand all Loading... |
130 EXPECT_EQ(SyncChange::ACTION_DELETE, e.change_type()); | 148 EXPECT_EQ(SyncChange::ACTION_DELETE, e.change_type()); |
131 EXPECT_EQ(PREFERENCES, e.sync_data().GetDataType()); | 149 EXPECT_EQ(PREFERENCES, e.sync_data().GetDataType()); |
132 ref_spec.reset(EntitySpecificsToValue(delete_specifics)); | 150 ref_spec.reset(EntitySpecificsToValue(delete_specifics)); |
133 e_spec.reset(EntitySpecificsToValue(e.sync_data().GetSpecifics())); | 151 e_spec.reset(EntitySpecificsToValue(e.sync_data().GetSpecifics())); |
134 EXPECT_TRUE(ref_spec->Equals(e_spec.get())); | 152 EXPECT_TRUE(ref_spec->Equals(e_spec.get())); |
135 } | 153 } |
136 | 154 |
137 } // namespace | 155 } // namespace |
138 | 156 |
139 } // namespace syncer | 157 } // namespace syncer |
OLD | NEW |