| Index: chrome/browser/extensions/extension_sync_data_unittest.cc
|
| diff --git a/chrome/browser/extensions/extension_sync_data_unittest.cc b/chrome/browser/extensions/extension_sync_data_unittest.cc
|
| index e08d1845ffebdec62d53a19af54768446b3d77bc..16dce1718d22fefc318743e4ec248ed634504e20 100644
|
| --- a/chrome/browser/extensions/extension_sync_data_unittest.cc
|
| +++ b/chrome/browser/extensions/extension_sync_data_unittest.cc
|
| @@ -6,81 +6,86 @@
|
|
|
| #include "base/memory/scoped_ptr.h"
|
| #include "base/version.h"
|
| +#include "chrome/browser/sync/protocol/app_specifics.pb.h"
|
| +#include "chrome/browser/sync/protocol/extension_specifics.pb.h"
|
| #include "googleurl/src/gurl.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
|
|
| namespace {
|
|
|
| -class ExtensionSyncDataTest : public testing::Test {
|
| -};
|
| -
|
| -bool ExtensionSyncDataEqual(const ExtensionSyncData& a,
|
| - const ExtensionSyncData& b) {
|
| - return
|
| - (a.id == b.id) &&
|
| - (a.enabled == b.enabled) &&
|
| - (a.incognito_enabled == b.incognito_enabled) &&
|
| - (a.version.Equals(b.version)) &&
|
| - (a.update_url == b.update_url) &&
|
| - (a.name == b.name);
|
| -}
|
| +#if defined(OS_WIN)
|
| +const FilePath::CharType kExtensionFilePath[] = FILE_PATH_LITERAL("c:\\foo");
|
| +#elif defined(OS_POSIX)
|
| +const FilePath::CharType kExtensionFilePath[] = FILE_PATH_LITERAL("/foo");
|
| +#endif
|
|
|
| -TEST_F(ExtensionSyncDataTest, MergeOlder) {
|
| - ExtensionSyncData data;
|
| - data.id = "id";
|
| - data.enabled = true;
|
| - data.incognito_enabled = false;
|
| - {
|
| - scoped_ptr<Version> version(Version::GetVersionFromString("1.2.0.0"));
|
| - data.version = *version;
|
| - }
|
| - data.update_url = GURL("http://www.old.com");
|
| - data.name = "data";
|
| +const char kValidId[] = "abcdefghijklmnopabcdefghijklmnop";
|
| +const char kValidVersion[] = "0.0.0.0";
|
| +const char kVersion1[] = "1.0.0.1";
|
| +const char kVersion2[] = "1.0.1.0";
|
| +const char kVersion3[] = "1.1.0.0";
|
| +const char kValidUpdateUrl1[] =
|
| + "http://clients2.google.com/service/update2/crx";
|
| +const char kValidUpdateUrl2[] =
|
| + "https://clients2.google.com/service/update2/crx";
|
| +const char kName[] = "MyExtension";
|
| +const char kName2[] = "MyExtension2";
|
|
|
| - ExtensionSyncData new_data;
|
| - new_data.id = "id";
|
| - new_data.enabled = false;
|
| - new_data.incognito_enabled = true;
|
| - {
|
| - scoped_ptr<Version> version(Version::GetVersionFromString("1.1.0.0"));
|
| - new_data.version = *version;
|
| - }
|
| - new_data.update_url = GURL("http://www.new.com");
|
| - new_data.name = "new_data";
|
| +class ExtensionSyncDataTest : public testing::Test {
|
| +};
|
|
|
| - ExtensionSyncData expected_data = data;
|
| - expected_data.enabled = new_data.enabled;
|
| - expected_data.incognito_enabled = new_data.incognito_enabled;
|
| +TEST_F(ExtensionSyncDataTest, SyncDataToExtensionSyncData) {
|
| + sync_pb::EntitySpecifics entity;
|
| + sync_pb::ExtensionSpecifics* extension_specifics =
|
| + entity.MutableExtension(sync_pb::extension);
|
| + extension_specifics->set_id(kValidId);
|
| + extension_specifics->set_update_url(kValidUpdateUrl2);
|
| + extension_specifics->set_enabled(false);
|
| + extension_specifics->set_incognito_enabled(true);
|
| + extension_specifics->set_version(kVersion1);
|
| + extension_specifics->set_name(kName);
|
| + SyncData sync_data =
|
| + SyncData::CreateLocalData("sync_tag", "non_unique_title", entity);
|
|
|
| - data.Merge(new_data);
|
| - EXPECT_TRUE(ExtensionSyncDataEqual(data, expected_data));
|
| + ExtensionSyncData extension_sync_data(sync_data);
|
| + EXPECT_EQ(extension_specifics->id(), extension_sync_data.id());
|
| + EXPECT_EQ(extension_specifics->version(),
|
| + extension_sync_data.version().GetString());
|
| + EXPECT_EQ(extension_specifics->update_url(),
|
| + extension_sync_data.update_url().spec());
|
| + EXPECT_EQ(extension_specifics->enabled(), extension_sync_data.enabled());
|
| + EXPECT_EQ(extension_specifics->incognito_enabled(),
|
| + extension_sync_data.incognito_enabled());
|
| + EXPECT_EQ(extension_specifics->name(), extension_sync_data.name());
|
| + EXPECT_FALSE(extension_sync_data.uninstalled());
|
| }
|
|
|
| -TEST_F(ExtensionSyncDataTest, MergeNewer) {
|
| - ExtensionSyncData data;
|
| - data.id = "id";
|
| - data.enabled = true;
|
| - data.incognito_enabled = false;
|
| - {
|
| - scoped_ptr<Version> version(Version::GetVersionFromString("1.2.0.0"));
|
| - data.version = *version;
|
| - }
|
| - data.update_url = GURL("http://www.old.com");
|
| - data.name = "data";
|
| -
|
| - ExtensionSyncData new_data;
|
| - new_data.id = "id";
|
| - new_data.enabled = false;
|
| - new_data.incognito_enabled = true;
|
| - {
|
| - scoped_ptr<Version> version(Version::GetVersionFromString("1.3.0.0"));
|
| - new_data.version = *version;
|
| - }
|
| - new_data.update_url = GURL("http://www.new.com");
|
| - new_data.name = "new_data";
|
| +TEST_F(ExtensionSyncDataTest, ExtensionSyncDataToSyncData) {
|
| + sync_pb::EntitySpecifics entity;
|
| + sync_pb::ExtensionSpecifics* input_extension =
|
| + entity.MutableExtension(sync_pb::extension);
|
| + input_extension->set_id(kValidId);
|
| + input_extension->set_update_url(kValidUpdateUrl2);
|
| + input_extension->set_enabled(true);
|
| + input_extension->set_incognito_enabled(false);
|
| + input_extension->set_version(kVersion1);
|
| + input_extension->set_name(kName);
|
| + SyncData sync_data =
|
| + SyncData::CreateLocalData("sync_tag", "non_unique_title", entity);
|
| + ExtensionSyncData extension_sync_data(sync_data);
|
|
|
| - data.Merge(new_data);
|
| - EXPECT_TRUE(ExtensionSyncDataEqual(data, new_data));
|
| + SyncData output_sync_data = extension_sync_data.GetSyncData();
|
| + const sync_pb::ExtensionSpecifics& output_specifics =
|
| + output_sync_data.GetSpecifics().GetExtension(sync_pb::extension);
|
| + EXPECT_EQ(extension_sync_data.id(), output_specifics.id());
|
| + EXPECT_EQ(extension_sync_data.update_url().spec(),
|
| + output_specifics.update_url());
|
| + EXPECT_EQ(extension_sync_data.enabled(), output_specifics.enabled());
|
| + EXPECT_EQ(extension_sync_data.incognito_enabled(),
|
| + output_specifics.incognito_enabled());
|
| + EXPECT_EQ(extension_sync_data.version().GetString(),
|
| + output_specifics.version());
|
| + EXPECT_EQ(extension_sync_data.name(), output_specifics.name());
|
| }
|
|
|
| } // namespace
|
|
|