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/extension_sync_data.h" | 5 #include "chrome/browser/extensions/extension_sync_data.h" |
6 | 6 |
7 #include "base/files/file_path.h" | 7 #include "base/files/file_path.h" |
8 #include "base/memory/scoped_ptr.h" | 8 #include "base/memory/scoped_ptr.h" |
9 #include "base/version.h" | 9 #include "base/version.h" |
10 #include "sync/protocol/extension_specifics.pb.h" | 10 #include "sync/protocol/extension_specifics.pb.h" |
11 #include "sync/protocol/sync.pb.h" | 11 #include "sync/protocol/sync.pb.h" |
12 #include "testing/gtest/include/gtest/gtest.h" | 12 #include "testing/gtest/include/gtest/gtest.h" |
13 #include "url/gurl.h" | 13 #include "url/gurl.h" |
14 | 14 |
15 namespace extensions { | |
16 | |
15 namespace { | 17 namespace { |
16 | 18 |
17 const char kValidId[] = "abcdefghijklmnopabcdefghijklmnop"; | 19 const char kValidId[] = "abcdefghijklmnopabcdefghijklmnop"; |
18 const char kVersion[] = "1.0.0.1"; | 20 const char kVersion[] = "1.0.0.1"; |
19 const char kValidUpdateUrl[] = | 21 const char kValidUpdateUrl[] = |
20 "https://clients2.google.com/service/update2/crx"; | 22 "https://clients2.google.com/service/update2/crx"; |
21 const char kName[] = "MyExtension"; | 23 const char kName[] = "MyExtension"; |
22 | 24 |
25 const ExtensionSyncData::PrefValue kPrefTrue = ExtensionSyncData::PREF_TRUE; | |
26 const ExtensionSyncData::PrefValue kPrefFalse = ExtensionSyncData::PREF_FALSE; | |
27 const ExtensionSyncData::PrefValue kPrefUnset = ExtensionSyncData::PREF_UNSET; | |
28 | |
29 } // namespace | |
30 | |
23 class ExtensionSyncDataTest : public testing::Test { | 31 class ExtensionSyncDataTest : public testing::Test { |
24 }; | 32 }; |
25 | 33 |
26 TEST_F(ExtensionSyncDataTest, SyncDataToExtensionSyncDataForExtension) { | 34 TEST_F(ExtensionSyncDataTest, SyncDataToExtensionSyncDataForExtension) { |
27 sync_pb::EntitySpecifics entity; | 35 sync_pb::EntitySpecifics entity; |
28 sync_pb::ExtensionSpecifics* extension_specifics = entity.mutable_extension(); | 36 sync_pb::ExtensionSpecifics* extension_specifics = entity.mutable_extension(); |
29 extension_specifics->set_id(kValidId); | 37 extension_specifics->set_id(kValidId); |
30 extension_specifics->set_update_url(kValidUpdateUrl); | 38 extension_specifics->set_update_url(kValidUpdateUrl); |
31 extension_specifics->set_enabled(false); | 39 extension_specifics->set_enabled(false); |
32 extension_specifics->set_incognito_enabled(true); | 40 extension_specifics->set_incognito_enabled(true); |
41 extension_specifics->set_all_urls_enabled(true); | |
33 extension_specifics->set_version(kVersion); | 42 extension_specifics->set_version(kVersion); |
34 extension_specifics->set_name(kName); | 43 extension_specifics->set_name(kName); |
35 syncer::SyncData sync_data = | 44 syncer::SyncData sync_data = |
36 syncer::SyncData::CreateLocalData("sync_tag", "non_unique_title", entity); | 45 syncer::SyncData::CreateLocalData("sync_tag", "non_unique_title", entity); |
37 | 46 |
38 extensions::ExtensionSyncData extension_sync_data(sync_data); | 47 ExtensionSyncData extension_sync_data(sync_data); |
39 EXPECT_EQ(extension_specifics->id(), extension_sync_data.id()); | 48 EXPECT_EQ(extension_specifics->id(), extension_sync_data.id()); |
40 EXPECT_EQ(extension_specifics->version(), | 49 EXPECT_EQ(extension_specifics->version(), |
41 extension_sync_data.version().GetString()); | 50 extension_sync_data.version().GetString()); |
42 EXPECT_EQ(extension_specifics->update_url(), | 51 EXPECT_EQ(extension_specifics->update_url(), |
43 extension_sync_data.update_url().spec()); | 52 extension_sync_data.update_url().spec()); |
44 EXPECT_EQ(extension_specifics->enabled(), extension_sync_data.enabled()); | 53 EXPECT_EQ(extension_specifics->enabled(), extension_sync_data.enabled()); |
45 EXPECT_EQ(extension_specifics->incognito_enabled(), | 54 EXPECT_EQ(extension_specifics->incognito_enabled(), |
46 extension_sync_data.incognito_enabled()); | 55 extension_sync_data.incognito_enabled()); |
56 EXPECT_EQ(extension_specifics->all_urls_enabled(), | |
57 extension_sync_data.all_urls_enabled() == kPrefTrue); | |
not at google - send to devlin
2015/02/11 01:34:51
This looks convoluted.
We know that extension_spe
Devlin
2015/02/11 17:52:21
Yeah, the current test leaves a little to be wante
| |
47 EXPECT_EQ(extension_specifics->name(), extension_sync_data.name()); | 58 EXPECT_EQ(extension_specifics->name(), extension_sync_data.name()); |
48 EXPECT_FALSE(extension_sync_data.uninstalled()); | 59 EXPECT_FALSE(extension_sync_data.uninstalled()); |
60 | |
61 extension_specifics->clear_all_urls_enabled(); | |
62 sync_data = syncer::SyncData::CreateLocalData( | |
63 "sync_tag", "non_unique_title", entity); | |
64 extension_sync_data = ExtensionSyncData(sync_data); | |
65 EXPECT_EQ(kPrefUnset, extension_sync_data.all_urls_enabled()); | |
49 } | 66 } |
50 | 67 |
51 TEST_F(ExtensionSyncDataTest, ExtensionSyncDataToSyncDataForExtension) { | 68 TEST_F(ExtensionSyncDataTest, ExtensionSyncDataToSyncDataForExtension) { |
52 sync_pb::EntitySpecifics entity; | 69 sync_pb::EntitySpecifics entity; |
53 sync_pb::ExtensionSpecifics* input_extension = entity.mutable_extension(); | 70 sync_pb::ExtensionSpecifics* input_extension = entity.mutable_extension(); |
54 input_extension->set_id(kValidId); | 71 input_extension->set_id(kValidId); |
55 input_extension->set_update_url(kValidUpdateUrl); | 72 input_extension->set_update_url(kValidUpdateUrl); |
56 input_extension->set_enabled(true); | 73 input_extension->set_enabled(true); |
57 input_extension->set_incognito_enabled(false); | 74 input_extension->set_incognito_enabled(false); |
75 input_extension->set_all_urls_enabled(false); | |
58 input_extension->set_version(kVersion); | 76 input_extension->set_version(kVersion); |
59 input_extension->set_name(kName); | 77 input_extension->set_name(kName); |
60 syncer::SyncData sync_data = | 78 syncer::SyncData sync_data = |
61 syncer::SyncData::CreateLocalData("sync_tag", "non_unique_title", entity); | 79 syncer::SyncData::CreateLocalData("sync_tag", "non_unique_title", entity); |
62 extensions::ExtensionSyncData extension_sync_data(sync_data); | 80 ExtensionSyncData extension_sync_data(sync_data); |
63 | 81 |
64 syncer::SyncData output_sync_data = extension_sync_data.GetSyncData(); | 82 syncer::SyncData output_sync_data = extension_sync_data.GetSyncData(); |
65 const sync_pb::ExtensionSpecifics& output_specifics = | 83 const sync_pb::ExtensionSpecifics& output_specifics = |
66 output_sync_data.GetSpecifics().extension(); | 84 output_sync_data.GetSpecifics().extension(); |
67 EXPECT_EQ(extension_sync_data.id(), output_specifics.id()); | 85 EXPECT_EQ(extension_sync_data.id(), output_specifics.id()); |
68 EXPECT_EQ(extension_sync_data.update_url().spec(), | 86 EXPECT_EQ(extension_sync_data.update_url().spec(), |
69 output_specifics.update_url()); | 87 output_specifics.update_url()); |
70 EXPECT_EQ(extension_sync_data.enabled(), output_specifics.enabled()); | 88 EXPECT_EQ(extension_sync_data.enabled(), output_specifics.enabled()); |
71 EXPECT_EQ(extension_sync_data.incognito_enabled(), | 89 EXPECT_EQ(extension_sync_data.incognito_enabled(), |
72 output_specifics.incognito_enabled()); | 90 output_specifics.incognito_enabled()); |
91 EXPECT_EQ(kPrefFalse, extension_sync_data.all_urls_enabled()); | |
92 EXPECT_FALSE(output_specifics.all_urls_enabled()); | |
73 EXPECT_EQ(extension_sync_data.version().GetString(), | 93 EXPECT_EQ(extension_sync_data.version().GetString(), |
74 output_specifics.version()); | 94 output_specifics.version()); |
75 EXPECT_EQ(extension_sync_data.name(), output_specifics.name()); | 95 EXPECT_EQ(extension_sync_data.name(), output_specifics.name()); |
96 | |
97 input_extension->clear_all_urls_enabled(); | |
98 sync_data = syncer::SyncData::CreateLocalData( | |
99 "sync_tag", "non_unique_title", entity); | |
100 extension_sync_data = ExtensionSyncData(sync_data); | |
101 output_sync_data = extension_sync_data.GetSyncData(); | |
102 EXPECT_EQ(kPrefUnset, extension_sync_data.all_urls_enabled()); | |
103 EXPECT_FALSE( | |
104 output_sync_data.GetSpecifics().extension().has_all_urls_enabled()); | |
76 } | 105 } |
77 | 106 |
78 } // namespace | 107 } // namespace extensions |
OLD | NEW |