Chromium Code Reviews| 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 |