| Index: chrome/browser/sync/glue/extension_util_unittest.cc
|
| diff --git a/chrome/browser/sync/glue/extension_util_unittest.cc b/chrome/browser/sync/glue/extension_util_unittest.cc
|
| index 9b1bdb086845bca18b62b00be3649f09c6b6eb5d..ba87b8dbeccacbe144c5e2925024d617bd163f0b 100644
|
| --- a/chrome/browser/sync/glue/extension_util_unittest.cc
|
| +++ b/chrome/browser/sync/glue/extension_util_unittest.cc
|
| @@ -36,13 +36,10 @@ const char kName2[] = "MyExtension2";
|
| class ExtensionUtilTest : public testing::Test {
|
| };
|
|
|
| -void MakePossiblySyncableExtension(bool is_theme,
|
| - const GURL& update_url,
|
| - const GURL& launch_url,
|
| - bool converted_from_user_script,
|
| - Extension::Location location,
|
| - int num_plugins,
|
| - Extension* extension) {
|
| +void MakeExtension(bool is_theme, const GURL& update_url,
|
| + const GURL& launch_url, bool converted_from_user_script,
|
| + Extension::Location location, int num_plugins,
|
| + Extension* extension) {
|
| DictionaryValue source;
|
| source.SetString(extension_manifest_keys::kName,
|
| "PossiblySyncableExtension");
|
| @@ -75,68 +72,146 @@ void MakePossiblySyncableExtension(bool is_theme,
|
| extension->set_location(location);
|
| }
|
|
|
| -TEST_F(ExtensionUtilTest, IsSyncableExtension) {
|
| +TEST_F(ExtensionUtilTest, GetExtensionType) {
|
| {
|
| FilePath file_path(kExtensionFilePath);
|
| Extension extension(file_path);
|
| - MakePossiblySyncableExtension(false, GURL(), GURL(), false,
|
| - Extension::INTERNAL, 0, &extension);
|
| - EXPECT_TRUE(IsExtensionSyncable(extension));
|
| + MakeExtension(false, GURL(), GURL(), false,
|
| + Extension::INTERNAL, 0, &extension);
|
| + EXPECT_EQ(EXTENSION, GetExtensionType(extension));
|
| }
|
| {
|
| FilePath file_path(kExtensionFilePath);
|
| Extension extension(file_path);
|
| - MakePossiblySyncableExtension(false, GURL(kValidUpdateUrl1), GURL(),
|
| - true, Extension::INTERNAL, 0, &extension);
|
| - EXPECT_TRUE(IsExtensionSyncable(extension));
|
| + MakeExtension(true, GURL(), GURL(), false,
|
| + Extension::INTERNAL, 0, &extension);
|
| + EXPECT_EQ(THEME, GetExtensionType(extension));
|
| }
|
| {
|
| FilePath file_path(kExtensionFilePath);
|
| Extension extension(file_path);
|
| - MakePossiblySyncableExtension(false, GURL(), GURL(), true,
|
| - Extension::INTERNAL, 0, &extension);
|
| - EXPECT_TRUE(IsExtensionSyncable(extension));
|
| + MakeExtension(false, GURL(), GURL(), true,
|
| + Extension::INTERNAL, 0, &extension);
|
| + EXPECT_EQ(USER_SCRIPT, GetExtensionType(extension));
|
| }
|
| {
|
| FilePath file_path(kExtensionFilePath);
|
| Extension extension(file_path);
|
| - MakePossiblySyncableExtension(true, GURL(), GURL(), false,
|
| - Extension::INTERNAL, 0, &extension);
|
| - EXPECT_FALSE(IsExtensionSyncable(extension));
|
| + MakeExtension(false, GURL(),
|
| + GURL("http://www.google.com"), false,
|
| + Extension::INTERNAL, 0, &extension);
|
| + EXPECT_EQ(APP, GetExtensionType(extension));
|
| + }
|
| +}
|
| +
|
| +TEST_F(ExtensionUtilTest, IsExtensionValid) {
|
| + {
|
| + FilePath file_path(kExtensionFilePath);
|
| + Extension extension(file_path);
|
| + MakeExtension(false, GURL(), GURL(), false,
|
| + Extension::INTERNAL, 0, &extension);
|
| + EXPECT_TRUE(IsExtensionValid(extension));
|
| }
|
| - // TODO(akalin): Test with a non-empty launch_url once apps are
|
| - // enabled by default.
|
| {
|
| FilePath file_path(kExtensionFilePath);
|
| Extension extension(file_path);
|
| - MakePossiblySyncableExtension(false, GURL(), GURL(), false,
|
| - Extension::EXTERNAL_PREF, 0, &extension);
|
| - EXPECT_FALSE(IsExtensionSyncable(extension));
|
| + MakeExtension(false, GURL(kValidUpdateUrl1), GURL(),
|
| + true, Extension::INTERNAL, 0, &extension);
|
| + EXPECT_TRUE(IsExtensionValid(extension));
|
| }
|
| {
|
| FilePath file_path(kExtensionFilePath);
|
| Extension extension(file_path);
|
| - MakePossiblySyncableExtension(
|
| + MakeExtension(false, GURL(), GURL(), true,
|
| + Extension::INTERNAL, 0, &extension);
|
| + EXPECT_TRUE(IsExtensionValid(extension));
|
| + }
|
| + {
|
| + FilePath file_path(kExtensionFilePath);
|
| + Extension extension(file_path);
|
| + MakeExtension(true, GURL(), GURL(), false,
|
| + Extension::INTERNAL, 0, &extension);
|
| + EXPECT_TRUE(IsExtensionValid(extension));
|
| + }
|
| + {
|
| + FilePath file_path(kExtensionFilePath);
|
| + Extension extension(file_path);
|
| + MakeExtension(false, GURL(),
|
| + GURL("http://www.google.com"), false,
|
| + Extension::INTERNAL, 0, &extension);
|
| + EXPECT_TRUE(IsExtensionValid(extension));
|
| + }
|
| + {
|
| + FilePath file_path(kExtensionFilePath);
|
| + Extension extension(file_path);
|
| + MakeExtension(false, GURL(), GURL(), false,
|
| + Extension::EXTERNAL_PREF, 0, &extension);
|
| + EXPECT_FALSE(IsExtensionValid(extension));
|
| + }
|
| + {
|
| + FilePath file_path(kExtensionFilePath);
|
| + Extension extension(file_path);
|
| + MakeExtension(
|
| false, GURL("http://third-party.update_url.com"), GURL(), true,
|
| Extension::INTERNAL, 0, &extension);
|
| - EXPECT_FALSE(IsExtensionSyncable(extension));
|
| + EXPECT_FALSE(IsExtensionValid(extension));
|
| + }
|
| + {
|
| + FilePath file_path(kExtensionFilePath);
|
| + Extension extension(file_path);
|
| + MakeExtension(false, GURL(), GURL(), true,
|
| + Extension::INTERNAL, 1, &extension);
|
| + EXPECT_FALSE(IsExtensionValid(extension));
|
| + }
|
| + {
|
| + FilePath file_path(kExtensionFilePath);
|
| + Extension extension(file_path);
|
| + MakeExtension(false, GURL(), GURL(), true,
|
| + Extension::INTERNAL, 2, &extension);
|
| + EXPECT_FALSE(IsExtensionValid(extension));
|
| + }
|
| +}
|
| +
|
| +TEST_F(ExtensionUtilTest, IsExtensionValidAndSyncable) {
|
| + ExtensionTypeSet allowed_extension_types;
|
| + allowed_extension_types.insert(EXTENSION);
|
| + allowed_extension_types.insert(APP);
|
| + {
|
| + FilePath file_path(kExtensionFilePath);
|
| + Extension extension(file_path);
|
| + MakeExtension(false, GURL(), GURL(), false,
|
| + Extension::INTERNAL, 0, &extension);
|
| + EXPECT_TRUE(IsExtensionValidAndSyncable(
|
| + extension, allowed_extension_types));
|
| }
|
| {
|
| FilePath file_path(kExtensionFilePath);
|
| Extension extension(file_path);
|
| - MakePossiblySyncableExtension(false, GURL(), GURL(), true,
|
| - Extension::INTERNAL, 1, &extension);
|
| - EXPECT_FALSE(IsExtensionSyncable(extension));
|
| + MakeExtension(false, GURL(),
|
| + GURL("http://www.google.com"), false,
|
| + Extension::INTERNAL, 0, &extension);
|
| + EXPECT_TRUE(IsExtensionValidAndSyncable(
|
| + extension, allowed_extension_types));
|
| }
|
| {
|
| FilePath file_path(kExtensionFilePath);
|
| Extension extension(file_path);
|
| - MakePossiblySyncableExtension(false, GURL(), GURL(), true,
|
| - Extension::INTERNAL, 2, &extension);
|
| - EXPECT_FALSE(IsExtensionSyncable(extension));
|
| + MakeExtension(false, GURL(), GURL(), true,
|
| + Extension::INTERNAL, 0, &extension);
|
| + EXPECT_FALSE(IsExtensionValidAndSyncable(
|
| + extension, allowed_extension_types));
|
| + }
|
| + {
|
| + FilePath file_path(kExtensionFilePath);
|
| + Extension extension(file_path);
|
| + MakeExtension(false, GURL(), GURL(), false,
|
| + Extension::EXTERNAL_PREF, 0, &extension);
|
| + EXPECT_FALSE(IsExtensionValidAndSyncable(
|
| + extension, allowed_extension_types));
|
| }
|
| }
|
|
|
| +
|
| TEST_F(ExtensionUtilTest, IsExtensionSpecificsUnset) {
|
| {
|
| sync_pb::ExtensionSpecifics specifics;
|
|
|