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

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

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

Powered by Google App Engine
This is Rietveld 408576698