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 30 matching lines...) Expand all Loading... |
41 app_specifics->set_app_launch_ordinal( | 41 app_specifics->set_app_launch_ordinal( |
42 syncer::StringOrdinal::CreateInitialOrdinal().ToInternalValue()); | 42 syncer::StringOrdinal::CreateInitialOrdinal().ToInternalValue()); |
43 app_specifics->set_page_ordinal( | 43 app_specifics->set_page_ordinal( |
44 syncer::StringOrdinal::CreateInitialOrdinal().ToInternalValue()); | 44 syncer::StringOrdinal::CreateInitialOrdinal().ToInternalValue()); |
45 | 45 |
46 SetRequiredExtensionValues(app_specifics->mutable_extension()); | 46 SetRequiredExtensionValues(app_specifics->mutable_extension()); |
47 | 47 |
48 syncer::SyncData sync_data = | 48 syncer::SyncData sync_data = |
49 syncer::SyncData::CreateLocalData("sync_tag", "non_unique_title", entity); | 49 syncer::SyncData::CreateLocalData("sync_tag", "non_unique_title", entity); |
50 | 50 |
51 AppSyncData app_sync_data(sync_data); | 51 scoped_ptr<AppSyncData> app_sync_data = |
| 52 AppSyncData::CreateFromSyncData(sync_data); |
| 53 ASSERT_TRUE(app_sync_data.get()); |
52 EXPECT_EQ(app_specifics->app_launch_ordinal(), | 54 EXPECT_EQ(app_specifics->app_launch_ordinal(), |
53 app_sync_data.app_launch_ordinal().ToInternalValue()); | 55 app_sync_data->app_launch_ordinal().ToInternalValue()); |
54 EXPECT_EQ(app_specifics->page_ordinal(), | 56 EXPECT_EQ(app_specifics->page_ordinal(), |
55 app_sync_data.page_ordinal().ToInternalValue()); | 57 app_sync_data->page_ordinal().ToInternalValue()); |
56 } | 58 } |
57 | 59 |
58 | 60 |
59 | 61 |
60 TEST_F(AppSyncDataTest, ExtensionSyncDataToSyncDataForApp) { | 62 TEST_F(AppSyncDataTest, ExtensionSyncDataToSyncDataForApp) { |
61 sync_pb::EntitySpecifics entity; | 63 sync_pb::EntitySpecifics entity; |
62 sync_pb::AppSpecifics* input_specifics = entity.mutable_app(); | 64 sync_pb::AppSpecifics* input_specifics = entity.mutable_app(); |
63 input_specifics->set_app_launch_ordinal( | 65 input_specifics->set_app_launch_ordinal( |
64 syncer::StringOrdinal::CreateInitialOrdinal().ToInternalValue()); | 66 syncer::StringOrdinal::CreateInitialOrdinal().ToInternalValue()); |
65 input_specifics->set_page_ordinal( | 67 input_specifics->set_page_ordinal( |
66 syncer::StringOrdinal::CreateInitialOrdinal().ToInternalValue()); | 68 syncer::StringOrdinal::CreateInitialOrdinal().ToInternalValue()); |
67 | 69 |
68 SetRequiredExtensionValues(input_specifics->mutable_extension()); | 70 SetRequiredExtensionValues(input_specifics->mutable_extension()); |
69 | 71 |
70 syncer::SyncData sync_data = | 72 syncer::SyncData sync_data = |
71 syncer::SyncData::CreateLocalData("sync_tag", "non_unique_title", entity); | 73 syncer::SyncData::CreateLocalData("sync_tag", "non_unique_title", entity); |
72 AppSyncData app_sync_data(sync_data); | 74 scoped_ptr<AppSyncData> app_sync_data = |
| 75 AppSyncData::CreateFromSyncData(sync_data); |
| 76 ASSERT_TRUE(app_sync_data.get()); |
73 | 77 |
74 syncer::SyncData output_sync_data = app_sync_data.GetSyncData(); | 78 syncer::SyncData output_sync_data = app_sync_data->GetSyncData(); |
75 EXPECT_TRUE(sync_data.GetSpecifics().has_app()); | 79 EXPECT_TRUE(sync_data.GetSpecifics().has_app()); |
76 const sync_pb::AppSpecifics& output_specifics = | 80 const sync_pb::AppSpecifics& output_specifics = |
77 output_sync_data.GetSpecifics().app(); | 81 output_sync_data.GetSpecifics().app(); |
78 EXPECT_EQ(input_specifics->SerializeAsString(), | 82 EXPECT_EQ(input_specifics->SerializeAsString(), |
79 output_specifics.SerializeAsString()); | 83 output_specifics.SerializeAsString()); |
80 } | 84 } |
81 | 85 |
82 // Ensures that invalid StringOrdinals don't break ExtensionSyncData. | 86 // Ensures that invalid StringOrdinals don't break ExtensionSyncData. |
83 TEST_F(AppSyncDataTest, ExtensionSyncDataInvalidOrdinal) { | 87 TEST_F(AppSyncDataTest, ExtensionSyncDataInvalidOrdinal) { |
84 sync_pb::EntitySpecifics entity; | 88 sync_pb::EntitySpecifics entity; |
85 sync_pb::AppSpecifics* app_specifics = entity.mutable_app(); | 89 sync_pb::AppSpecifics* app_specifics = entity.mutable_app(); |
86 // Set the ordinals as invalid. | 90 // Set the ordinals as invalid. |
87 app_specifics->set_app_launch_ordinal(""); | 91 app_specifics->set_app_launch_ordinal(""); |
88 app_specifics->set_page_ordinal(""); | 92 app_specifics->set_page_ordinal(""); |
89 | 93 |
90 SetRequiredExtensionValues(app_specifics->mutable_extension()); | 94 SetRequiredExtensionValues(app_specifics->mutable_extension()); |
91 | 95 |
92 syncer::SyncData sync_data = | 96 syncer::SyncData sync_data = |
93 syncer::SyncData::CreateLocalData("sync_tag", "non_unique_title", entity); | 97 syncer::SyncData::CreateLocalData("sync_tag", "non_unique_title", entity); |
94 | 98 |
95 // There should be no issue loading the sync data. | 99 // There should be no issue loading the sync data. |
96 AppSyncData app_sync_data(sync_data); | 100 scoped_ptr<AppSyncData> app_sync_data = |
97 app_sync_data.GetSyncData(); | 101 AppSyncData::CreateFromSyncData(sync_data); |
| 102 ASSERT_TRUE(app_sync_data.get()); |
| 103 app_sync_data->GetSyncData(); |
98 } | 104 } |
99 | 105 |
100 } // namespace extensions | 106 } // namespace extensions |
OLD | NEW |