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 "chrome/browser/extensions/app_sync_data.h" | 5 #include "chrome/browser/extensions/app_sync_data.h" |
6 | 6 |
7 #include "sync/api/string_ordinal.h" | 7 #include "sync/api/string_ordinal.h" |
8 #include "sync/protocol/app_specifics.pb.h" | 8 #include "sync/protocol/app_specifics.pb.h" |
9 #include "sync/protocol/sync.pb.h" | 9 #include "sync/protocol/sync.pb.h" |
10 #include "testing/gtest/include/gtest/gtest.h" | 10 #include "testing/gtest/include/gtest/gtest.h" |
(...skipping 27 matching lines...) Expand all Loading... |
38 } | 38 } |
39 }; | 39 }; |
40 | 40 |
41 TEST_F(AppSyncDataTest, SyncDataToExtensionSyncDataForApp) { | 41 TEST_F(AppSyncDataTest, SyncDataToExtensionSyncDataForApp) { |
42 sync_pb::EntitySpecifics entity; | 42 sync_pb::EntitySpecifics entity; |
43 sync_pb::AppSpecifics* app_specifics = entity.mutable_app(); | 43 sync_pb::AppSpecifics* app_specifics = entity.mutable_app(); |
44 app_specifics->set_app_launch_ordinal( | 44 app_specifics->set_app_launch_ordinal( |
45 syncer::StringOrdinal::CreateInitialOrdinal().ToInternalValue()); | 45 syncer::StringOrdinal::CreateInitialOrdinal().ToInternalValue()); |
46 app_specifics->set_page_ordinal( | 46 app_specifics->set_page_ordinal( |
47 syncer::StringOrdinal::CreateInitialOrdinal().ToInternalValue()); | 47 syncer::StringOrdinal::CreateInitialOrdinal().ToInternalValue()); |
48 sync_pb::AppNotificationSettings* notif_settings = | |
49 app_specifics->mutable_notification_settings(); | |
50 notif_settings->set_oauth_client_id(kOAuthClientId); | |
51 notif_settings->set_disabled(true); | |
52 | 48 |
53 SetRequiredExtensionValues(app_specifics->mutable_extension()); | 49 SetRequiredExtensionValues(app_specifics->mutable_extension()); |
54 | 50 |
55 syncer::SyncData sync_data = | 51 syncer::SyncData sync_data = |
56 syncer::SyncData::CreateLocalData("sync_tag", "non_unique_title", entity); | 52 syncer::SyncData::CreateLocalData("sync_tag", "non_unique_title", entity); |
57 | 53 |
58 AppSyncData app_sync_data(sync_data); | 54 AppSyncData app_sync_data(sync_data); |
59 EXPECT_EQ(app_specifics->app_launch_ordinal(), | 55 EXPECT_EQ(app_specifics->app_launch_ordinal(), |
60 app_sync_data.app_launch_ordinal().ToInternalValue()); | 56 app_sync_data.app_launch_ordinal().ToInternalValue()); |
61 EXPECT_EQ(app_specifics->page_ordinal(), | 57 EXPECT_EQ(app_specifics->page_ordinal(), |
62 app_sync_data.page_ordinal().ToInternalValue()); | 58 app_sync_data.page_ordinal().ToInternalValue()); |
63 EXPECT_EQ(notif_settings->oauth_client_id(), | |
64 app_sync_data.notifications_client_id()); | |
65 EXPECT_EQ(notif_settings->disabled(), | |
66 app_sync_data.notifications_disabled()); | |
67 } | 59 } |
68 | 60 |
69 | 61 |
70 | 62 |
71 TEST_F(AppSyncDataTest, ExtensionSyncDataToSyncDataForApp) { | 63 TEST_F(AppSyncDataTest, ExtensionSyncDataToSyncDataForApp) { |
72 sync_pb::EntitySpecifics entity; | 64 sync_pb::EntitySpecifics entity; |
73 sync_pb::AppSpecifics* input_specifics = entity.mutable_app(); | 65 sync_pb::AppSpecifics* input_specifics = entity.mutable_app(); |
74 input_specifics->set_app_launch_ordinal( | 66 input_specifics->set_app_launch_ordinal( |
75 syncer::StringOrdinal::CreateInitialOrdinal().ToInternalValue()); | 67 syncer::StringOrdinal::CreateInitialOrdinal().ToInternalValue()); |
76 input_specifics->set_page_ordinal( | 68 input_specifics->set_page_ordinal( |
77 syncer::StringOrdinal::CreateInitialOrdinal().ToInternalValue()); | 69 syncer::StringOrdinal::CreateInitialOrdinal().ToInternalValue()); |
78 sync_pb::AppNotificationSettings* notif_settings = | |
79 input_specifics->mutable_notification_settings(); | |
80 notif_settings->set_oauth_client_id(kOAuthClientId); | |
81 notif_settings->set_disabled(true); | |
82 | 70 |
83 SetRequiredExtensionValues(input_specifics->mutable_extension()); | 71 SetRequiredExtensionValues(input_specifics->mutable_extension()); |
84 | 72 |
85 syncer::SyncData sync_data = | 73 syncer::SyncData sync_data = |
86 syncer::SyncData::CreateLocalData("sync_tag", "non_unique_title", entity); | 74 syncer::SyncData::CreateLocalData("sync_tag", "non_unique_title", entity); |
87 AppSyncData app_sync_data(sync_data); | 75 AppSyncData app_sync_data(sync_data); |
88 | 76 |
89 syncer::SyncData output_sync_data = app_sync_data.GetSyncData(); | 77 syncer::SyncData output_sync_data = app_sync_data.GetSyncData(); |
90 EXPECT_TRUE(sync_data.GetSpecifics().has_app()); | 78 EXPECT_TRUE(sync_data.GetSpecifics().has_app()); |
91 const sync_pb::AppSpecifics& output_specifics = | 79 const sync_pb::AppSpecifics& output_specifics = |
92 output_sync_data.GetSpecifics().app(); | 80 output_sync_data.GetSpecifics().app(); |
93 EXPECT_EQ(input_specifics->SerializeAsString(), | 81 EXPECT_EQ(input_specifics->SerializeAsString(), |
94 output_specifics.SerializeAsString()); | 82 output_specifics.SerializeAsString()); |
95 } | 83 } |
96 | 84 |
97 // Ensures that invalid StringOrdinals don't break ExtensionSyncData. | 85 // Ensures that invalid StringOrdinals don't break ExtensionSyncData. |
98 TEST_F(AppSyncDataTest, ExtensionSyncDataInvalidOrdinal) { | 86 TEST_F(AppSyncDataTest, ExtensionSyncDataInvalidOrdinal) { |
99 sync_pb::EntitySpecifics entity; | 87 sync_pb::EntitySpecifics entity; |
100 sync_pb::AppSpecifics* app_specifics = entity.mutable_app(); | 88 sync_pb::AppSpecifics* app_specifics = entity.mutable_app(); |
101 // Set the ordinals as invalid. | 89 // Set the ordinals as invalid. |
102 app_specifics->set_app_launch_ordinal(""); | 90 app_specifics->set_app_launch_ordinal(""); |
103 app_specifics->set_page_ordinal(""); | 91 app_specifics->set_page_ordinal(""); |
104 | 92 |
105 sync_pb::AppNotificationSettings* notif_settings = | |
106 app_specifics->mutable_notification_settings(); | |
107 notif_settings->set_oauth_client_id(kOAuthClientId); | |
108 notif_settings->set_disabled(true); | |
109 | |
110 SetRequiredExtensionValues(app_specifics->mutable_extension()); | 93 SetRequiredExtensionValues(app_specifics->mutable_extension()); |
111 | 94 |
112 syncer::SyncData sync_data = | 95 syncer::SyncData sync_data = |
113 syncer::SyncData::CreateLocalData("sync_tag", "non_unique_title", entity); | 96 syncer::SyncData::CreateLocalData("sync_tag", "non_unique_title", entity); |
114 | 97 |
115 // There should be no issue loading the sync data. | 98 // There should be no issue loading the sync data. |
116 AppSyncData app_sync_data(sync_data); | 99 AppSyncData app_sync_data(sync_data); |
117 app_sync_data.GetSyncData(); | 100 app_sync_data.GetSyncData(); |
118 } | 101 } |
119 | 102 |
120 } // namespace extensions | 103 } // namespace extensions |
OLD | NEW |