| 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 |