OLD | NEW |
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 // Keep this file in sync with the .proto files in this directory. | 5 // Keep this file in sync with the .proto files in this directory. |
6 | 6 |
7 #include "chrome/browser/sync/protocol/proto_value_conversions.h" | 7 #include "chrome/browser/sync/protocol/proto_value_conversions.h" |
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/app_notification_specifics.pb.h" | 11 #include "chrome/browser/sync/protocol/app_notification_specifics.pb.h" |
| 12 #include "chrome/browser/sync/protocol/app_setting_specifics.pb.h" |
12 #include "chrome/browser/sync/protocol/app_specifics.pb.h" | 13 #include "chrome/browser/sync/protocol/app_specifics.pb.h" |
13 #include "chrome/browser/sync/protocol/autofill_specifics.pb.h" | 14 #include "chrome/browser/sync/protocol/autofill_specifics.pb.h" |
14 #include "chrome/browser/sync/protocol/bookmark_specifics.pb.h" | 15 #include "chrome/browser/sync/protocol/bookmark_specifics.pb.h" |
15 #include "chrome/browser/sync/protocol/encryption.pb.h" | 16 #include "chrome/browser/sync/protocol/encryption.pb.h" |
16 #include "chrome/browser/sync/protocol/extension_setting_specifics.pb.h" | 17 #include "chrome/browser/sync/protocol/extension_setting_specifics.pb.h" |
17 #include "chrome/browser/sync/protocol/extension_specifics.pb.h" | 18 #include "chrome/browser/sync/protocol/extension_specifics.pb.h" |
18 #include "chrome/browser/sync/protocol/nigori_specifics.pb.h" | 19 #include "chrome/browser/sync/protocol/nigori_specifics.pb.h" |
19 #include "chrome/browser/sync/protocol/password_specifics.pb.h" | 20 #include "chrome/browser/sync/protocol/password_specifics.pb.h" |
20 #include "chrome/browser/sync/protocol/preference_specifics.pb.h" | 21 #include "chrome/browser/sync/protocol/preference_specifics.pb.h" |
21 #include "chrome/browser/sync/protocol/search_engine_specifics.pb.h" | 22 #include "chrome/browser/sync/protocol/search_engine_specifics.pb.h" |
(...skipping 17 matching lines...) Expand all Loading... |
39 // We can't do much but make sure that the returned value has | 40 // We can't do much but make sure that the returned value has |
40 // something in it. | 41 // something in it. |
41 EXPECT_FALSE(value->empty()); | 42 EXPECT_FALSE(value->empty()); |
42 } | 43 } |
43 }; | 44 }; |
44 | 45 |
45 TEST_F(ProtoValueConversionsTest, ProtoChangeCheck) { | 46 TEST_F(ProtoValueConversionsTest, ProtoChangeCheck) { |
46 // If this number changes, that means we added or removed a data | 47 // If this number changes, that means we added or removed a data |
47 // type. Don't forget to add a unit test for {New | 48 // type. Don't forget to add a unit test for {New |
48 // type}SpecificsToValue below. | 49 // type}SpecificsToValue below. |
49 EXPECT_EQ(16, syncable::MODEL_TYPE_COUNT); | 50 EXPECT_EQ(17, syncable::MODEL_TYPE_COUNT); |
50 | 51 |
51 // We'd also like to check if we changed any field in our messages. | 52 // We'd also like to check if we changed any field in our messages. |
52 // However, that's hard to do: sizeof could work, but it's | 53 // However, that's hard to do: sizeof could work, but it's |
53 // platform-dependent. default_instance().ByteSize() won't change | 54 // platform-dependent. default_instance().ByteSize() won't change |
54 // for most changes, since most of our fields are optional. So we | 55 // for most changes, since most of our fields are optional. So we |
55 // just settle for comments in the proto files. | 56 // just settle for comments in the proto files. |
56 } | 57 } |
57 | 58 |
58 TEST_F(ProtoValueConversionsTest, EncryptedDataToValue) { | 59 TEST_F(ProtoValueConversionsTest, EncryptedDataToValue) { |
59 TestSpecificsToValue(EncryptedDataToValue); | 60 TestSpecificsToValue(EncryptedDataToValue); |
(...skipping 22 matching lines...) Expand all Loading... |
82 EXPECT_FALSE(value->empty()); | 83 EXPECT_FALSE(value->empty()); |
83 std::string password_value; | 84 std::string password_value; |
84 EXPECT_TRUE(value->GetString("password_value", &password_value)); | 85 EXPECT_TRUE(value->GetString("password_value", &password_value)); |
85 EXPECT_EQ("<redacted>", password_value); | 86 EXPECT_EQ("<redacted>", password_value); |
86 } | 87 } |
87 | 88 |
88 TEST_F(ProtoValueConversionsTest, AppNotificationSpecificsToValue) { | 89 TEST_F(ProtoValueConversionsTest, AppNotificationSpecificsToValue) { |
89 TestSpecificsToValue(AppNotificationSpecificsToValue); | 90 TestSpecificsToValue(AppNotificationSpecificsToValue); |
90 } | 91 } |
91 | 92 |
| 93 TEST_F(ProtoValueConversionsTest, AppSettingSpecificsToValue) { |
| 94 TestSpecificsToValue(AppSettingSpecificsToValue); |
| 95 } |
| 96 |
92 TEST_F(ProtoValueConversionsTest, AppSpecificsToValue) { | 97 TEST_F(ProtoValueConversionsTest, AppSpecificsToValue) { |
93 TestSpecificsToValue(AppSpecificsToValue); | 98 TestSpecificsToValue(AppSpecificsToValue); |
94 } | 99 } |
95 | 100 |
96 TEST_F(ProtoValueConversionsTest, AutofillSpecificsToValue) { | 101 TEST_F(ProtoValueConversionsTest, AutofillSpecificsToValue) { |
97 TestSpecificsToValue(AutofillSpecificsToValue); | 102 TestSpecificsToValue(AutofillSpecificsToValue); |
98 } | 103 } |
99 | 104 |
100 TEST_F(ProtoValueConversionsTest, AutofillProfileSpecificsToValue) { | 105 TEST_F(ProtoValueConversionsTest, AutofillProfileSpecificsToValue) { |
101 TestSpecificsToValue(AutofillProfileSpecificsToValue); | 106 TestSpecificsToValue(AutofillProfileSpecificsToValue); |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
144 // TODO(akalin): Figure out how to better test EntitySpecificsToValue. | 149 // TODO(akalin): Figure out how to better test EntitySpecificsToValue. |
145 | 150 |
146 TEST_F(ProtoValueConversionsTest, EntitySpecificsToValue) { | 151 TEST_F(ProtoValueConversionsTest, EntitySpecificsToValue) { |
147 sync_pb::EntitySpecifics specifics; | 152 sync_pb::EntitySpecifics specifics; |
148 // Touch the extensions to make sure it shows up in the generated | 153 // Touch the extensions to make sure it shows up in the generated |
149 // value. | 154 // value. |
150 #define SET_EXTENSION(key) (void)specifics.MutableExtension(sync_pb::key) | 155 #define SET_EXTENSION(key) (void)specifics.MutableExtension(sync_pb::key) |
151 | 156 |
152 SET_EXTENSION(app); | 157 SET_EXTENSION(app); |
153 SET_EXTENSION(app_notification); | 158 SET_EXTENSION(app_notification); |
| 159 SET_EXTENSION(app_setting); |
154 SET_EXTENSION(autofill); | 160 SET_EXTENSION(autofill); |
155 SET_EXTENSION(autofill_profile); | 161 SET_EXTENSION(autofill_profile); |
156 SET_EXTENSION(bookmark); | 162 SET_EXTENSION(bookmark); |
157 SET_EXTENSION(extension); | 163 SET_EXTENSION(extension); |
158 SET_EXTENSION(extension_setting); | 164 SET_EXTENSION(extension_setting); |
159 SET_EXTENSION(nigori); | 165 SET_EXTENSION(nigori); |
160 SET_EXTENSION(password); | 166 SET_EXTENSION(password); |
161 SET_EXTENSION(preference); | 167 SET_EXTENSION(preference); |
162 SET_EXTENSION(search_engine); | 168 SET_EXTENSION(search_engine); |
163 SET_EXTENSION(session); | 169 SET_EXTENSION(session); |
164 SET_EXTENSION(theme); | 170 SET_EXTENSION(theme); |
165 SET_EXTENSION(typed_url); | 171 SET_EXTENSION(typed_url); |
166 | 172 |
167 #undef SET_EXTENSION | 173 #undef SET_EXTENSION |
168 | 174 |
169 scoped_ptr<DictionaryValue> value(EntitySpecificsToValue(specifics)); | 175 scoped_ptr<DictionaryValue> value(EntitySpecificsToValue(specifics)); |
170 EXPECT_EQ(syncable::MODEL_TYPE_COUNT - syncable::FIRST_REAL_MODEL_TYPE, | 176 EXPECT_EQ(syncable::MODEL_TYPE_COUNT - syncable::FIRST_REAL_MODEL_TYPE, |
171 static_cast<int>(value->size())); | 177 static_cast<int>(value->size())); |
172 } | 178 } |
173 | 179 |
174 } // namespace | 180 } // namespace |
175 } // namespace browser_sync | 181 } // namespace browser_sync |
OLD | NEW |