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 #include "chrome/browser/extensions/extension_sync_data.h" | 5 #include "chrome/browser/extensions/extension_sync_data.h" |
6 | 6 |
7 #include "base/memory/scoped_ptr.h" | 7 #include "base/memory/scoped_ptr.h" |
8 #include "base/version.h" | 8 #include "base/version.h" |
9 #include "chrome/browser/sync/protocol/app_specifics.pb.h" | 9 #include "chrome/browser/sync/protocol/app_specifics.pb.h" |
10 #include "chrome/browser/sync/protocol/extension_specifics.pb.h" | 10 #include "chrome/browser/sync/protocol/extension_specifics.pb.h" |
(...skipping 16 matching lines...) Expand all Loading... |
27 const char kValidUpdateUrl1[] = | 27 const char kValidUpdateUrl1[] = |
28 "http://clients2.google.com/service/update2/crx"; | 28 "http://clients2.google.com/service/update2/crx"; |
29 const char kValidUpdateUrl2[] = | 29 const char kValidUpdateUrl2[] = |
30 "https://clients2.google.com/service/update2/crx"; | 30 "https://clients2.google.com/service/update2/crx"; |
31 const char kName[] = "MyExtension"; | 31 const char kName[] = "MyExtension"; |
32 const char kName2[] = "MyExtension2"; | 32 const char kName2[] = "MyExtension2"; |
33 | 33 |
34 class ExtensionSyncDataTest : public testing::Test { | 34 class ExtensionSyncDataTest : public testing::Test { |
35 }; | 35 }; |
36 | 36 |
37 TEST_F(ExtensionSyncDataTest, SyncDataToExtensionSyncData) { | 37 TEST_F(ExtensionSyncDataTest, SyncDataToExtensionSyncDataForExtension) { |
38 sync_pb::EntitySpecifics entity; | 38 sync_pb::EntitySpecifics entity; |
39 sync_pb::ExtensionSpecifics* extension_specifics = | 39 sync_pb::ExtensionSpecifics* extension_specifics = |
40 entity.MutableExtension(sync_pb::extension); | 40 entity.MutableExtension(sync_pb::extension); |
41 extension_specifics->set_id(kValidId); | 41 extension_specifics->set_id(kValidId); |
42 extension_specifics->set_update_url(kValidUpdateUrl2); | 42 extension_specifics->set_update_url(kValidUpdateUrl2); |
43 extension_specifics->set_enabled(false); | 43 extension_specifics->set_enabled(false); |
44 extension_specifics->set_incognito_enabled(true); | 44 extension_specifics->set_incognito_enabled(true); |
45 extension_specifics->set_version(kVersion1); | 45 extension_specifics->set_version(kVersion1); |
46 extension_specifics->set_name(kName); | 46 extension_specifics->set_name(kName); |
47 SyncData sync_data = | 47 SyncData sync_data = |
48 SyncData::CreateLocalData("sync_tag", "non_unique_title", entity); | 48 SyncData::CreateLocalData("sync_tag", "non_unique_title", entity); |
49 | 49 |
50 ExtensionSyncData extension_sync_data(sync_data); | 50 ExtensionSyncData extension_sync_data(sync_data); |
51 EXPECT_EQ(extension_specifics->id(), extension_sync_data.id()); | 51 EXPECT_EQ(extension_specifics->id(), extension_sync_data.id()); |
52 EXPECT_EQ(extension_specifics->version(), | 52 EXPECT_EQ(extension_specifics->version(), |
53 extension_sync_data.version().GetString()); | 53 extension_sync_data.version().GetString()); |
54 EXPECT_EQ(extension_specifics->update_url(), | 54 EXPECT_EQ(extension_specifics->update_url(), |
55 extension_sync_data.update_url().spec()); | 55 extension_sync_data.update_url().spec()); |
56 EXPECT_EQ(extension_specifics->enabled(), extension_sync_data.enabled()); | 56 EXPECT_EQ(extension_specifics->enabled(), extension_sync_data.enabled()); |
57 EXPECT_EQ(extension_specifics->incognito_enabled(), | 57 EXPECT_EQ(extension_specifics->incognito_enabled(), |
58 extension_sync_data.incognito_enabled()); | 58 extension_sync_data.incognito_enabled()); |
59 EXPECT_EQ(extension_specifics->name(), extension_sync_data.name()); | 59 EXPECT_EQ(extension_specifics->name(), extension_sync_data.name()); |
60 EXPECT_FALSE(extension_sync_data.uninstalled()); | 60 EXPECT_FALSE(extension_sync_data.uninstalled()); |
61 } | 61 } |
62 | 62 |
63 TEST_F(ExtensionSyncDataTest, ExtensionSyncDataToSyncData) { | 63 TEST_F(ExtensionSyncDataTest, ExtensionSyncDataToSyncDataForExtension) { |
64 sync_pb::EntitySpecifics entity; | 64 sync_pb::EntitySpecifics entity; |
65 sync_pb::ExtensionSpecifics* input_extension = | 65 sync_pb::ExtensionSpecifics* input_extension = |
66 entity.MutableExtension(sync_pb::extension); | 66 entity.MutableExtension(sync_pb::extension); |
67 input_extension->set_id(kValidId); | 67 input_extension->set_id(kValidId); |
68 input_extension->set_update_url(kValidUpdateUrl2); | 68 input_extension->set_update_url(kValidUpdateUrl2); |
69 input_extension->set_enabled(true); | 69 input_extension->set_enabled(true); |
70 input_extension->set_incognito_enabled(false); | 70 input_extension->set_incognito_enabled(false); |
71 input_extension->set_version(kVersion1); | 71 input_extension->set_version(kVersion1); |
72 input_extension->set_name(kName); | 72 input_extension->set_name(kName); |
73 SyncData sync_data = | 73 SyncData sync_data = |
74 SyncData::CreateLocalData("sync_tag", "non_unique_title", entity); | 74 SyncData::CreateLocalData("sync_tag", "non_unique_title", entity); |
75 ExtensionSyncData extension_sync_data(sync_data); | 75 ExtensionSyncData extension_sync_data(sync_data); |
76 | 76 |
77 SyncData output_sync_data = extension_sync_data.GetSyncData(); | 77 SyncData output_sync_data = extension_sync_data.GetSyncData(); |
78 const sync_pb::ExtensionSpecifics& output_specifics = | 78 const sync_pb::ExtensionSpecifics& output_specifics = |
79 output_sync_data.GetSpecifics().GetExtension(sync_pb::extension); | 79 output_sync_data.GetSpecifics().GetExtension(sync_pb::extension); |
80 EXPECT_EQ(extension_sync_data.id(), output_specifics.id()); | 80 EXPECT_EQ(extension_sync_data.id(), output_specifics.id()); |
81 EXPECT_EQ(extension_sync_data.update_url().spec(), | 81 EXPECT_EQ(extension_sync_data.update_url().spec(), |
82 output_specifics.update_url()); | 82 output_specifics.update_url()); |
83 EXPECT_EQ(extension_sync_data.enabled(), output_specifics.enabled()); | 83 EXPECT_EQ(extension_sync_data.enabled(), output_specifics.enabled()); |
84 EXPECT_EQ(extension_sync_data.incognito_enabled(), | 84 EXPECT_EQ(extension_sync_data.incognito_enabled(), |
85 output_specifics.incognito_enabled()); | 85 output_specifics.incognito_enabled()); |
86 EXPECT_EQ(extension_sync_data.version().GetString(), | 86 EXPECT_EQ(extension_sync_data.version().GetString(), |
87 output_specifics.version()); | 87 output_specifics.version()); |
88 EXPECT_EQ(extension_sync_data.name(), output_specifics.name()); | 88 EXPECT_EQ(extension_sync_data.name(), output_specifics.name()); |
89 } | 89 } |
90 | 90 |
| 91 TEST_F(ExtensionSyncDataTest, SyncDataToExtensionSyncDataForApp) { |
| 92 sync_pb::EntitySpecifics entity; |
| 93 sync_pb::AppSpecifics* app_specifics = entity.MutableExtension(sync_pb::app); |
| 94 sync_pb::ExtensionSpecifics* extension_specifics = |
| 95 app_specifics->mutable_extension(); |
| 96 extension_specifics->set_id(kValidId); |
| 97 extension_specifics->set_update_url(kValidUpdateUrl2); |
| 98 extension_specifics->set_enabled(false); |
| 99 extension_specifics->set_incognito_enabled(true); |
| 100 extension_specifics->set_version(kVersion1); |
| 101 extension_specifics->set_name(kName); |
| 102 sync_pb::AppNotificationSettings* notif_settings = |
| 103 app_specifics->mutable_notification_settings(); |
| 104 notif_settings->set_initial_setup_done(true); |
| 105 notif_settings->set_disabled(true); |
| 106 SyncData sync_data = |
| 107 SyncData::CreateLocalData("sync_tag", "non_unique_title", entity); |
| 108 |
| 109 ExtensionSyncData extension_sync_data(sync_data); |
| 110 EXPECT_EQ(extension_specifics->id(), extension_sync_data.id()); |
| 111 EXPECT_EQ(extension_specifics->version(), |
| 112 extension_sync_data.version().GetString()); |
| 113 EXPECT_EQ(extension_specifics->update_url(), |
| 114 extension_sync_data.update_url().spec()); |
| 115 EXPECT_EQ(extension_specifics->enabled(), extension_sync_data.enabled()); |
| 116 EXPECT_EQ(extension_specifics->incognito_enabled(), |
| 117 extension_sync_data.incognito_enabled()); |
| 118 EXPECT_EQ(extension_specifics->name(), extension_sync_data.name()); |
| 119 EXPECT_FALSE(extension_sync_data.uninstalled()); |
| 120 EXPECT_EQ(notif_settings->initial_setup_done(), |
| 121 extension_sync_data.notifications_initial_setup_done()); |
| 122 EXPECT_EQ(notif_settings->disabled(), |
| 123 extension_sync_data.notifications_disabled()); |
| 124 } |
| 125 |
| 126 TEST_F(ExtensionSyncDataTest, ExtensionSyncDataToSyncDataForApp) { |
| 127 sync_pb::EntitySpecifics entity; |
| 128 sync_pb::AppSpecifics* input_specifics = entity.MutableExtension( |
| 129 sync_pb::app); |
| 130 sync_pb::ExtensionSpecifics* input_extension = |
| 131 input_specifics->mutable_extension(); |
| 132 input_extension->set_id(kValidId); |
| 133 input_extension->set_update_url(kValidUpdateUrl2); |
| 134 input_extension->set_enabled(true); |
| 135 input_extension->set_incognito_enabled(false); |
| 136 input_extension->set_version(kVersion1); |
| 137 input_extension->set_name(kName); |
| 138 sync_pb::AppNotificationSettings* notif_settings = |
| 139 input_specifics->mutable_notification_settings(); |
| 140 notif_settings->set_initial_setup_done(true); |
| 141 notif_settings->set_disabled(true); |
| 142 SyncData sync_data = |
| 143 SyncData::CreateLocalData("sync_tag", "non_unique_title", entity); |
| 144 ExtensionSyncData extension_sync_data(sync_data); |
| 145 |
| 146 SyncData output_sync_data = extension_sync_data.GetSyncData(); |
| 147 EXPECT_TRUE(sync_data.GetSpecifics().HasExtension(sync_pb::app)); |
| 148 const sync_pb::AppSpecifics& output_specifics = |
| 149 output_sync_data.GetSpecifics().GetExtension(sync_pb::app); |
| 150 EXPECT_EQ(input_specifics->SerializeAsString(), |
| 151 output_specifics.SerializeAsString()); |
| 152 } |
| 153 |
91 } // namespace | 154 } // namespace |
OLD | NEW |