diff options
author | aa@chromium.org <aa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-03-12 06:07:46 +0000 |
---|---|---|
committer | aa@chromium.org <aa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-03-12 06:07:46 +0000 |
commit | d005e9df0f1d5f18206f3e847e525927a10ebeb1 (patch) | |
tree | b17953f7030d70c5ed2776a1a06d10414d21fc84 /chrome/common/extensions/feature_unittest.cc | |
parent | 31526823f1e7e7f1418f44cfb0f4e0283daf54ec (diff) | |
download | chromium_src-d005e9df0f1d5f18206f3e847e525927a10ebeb1.zip chromium_src-d005e9df0f1d5f18206f3e847e525927a10ebeb1.tar.gz chromium_src-d005e9df0f1d5f18206f3e847e525927a10ebeb1.tar.bz2 |
Re-land 125247: Better error messages when using unsupported manifest features.
This reverts commit fe7a83483ab3d6b7c3e0db1f3252474cbe350f81.
BUG=112620
TBR=mpcomplete@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9664053
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@126101 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/common/extensions/feature_unittest.cc')
-rw-r--r-- | chrome/common/extensions/feature_unittest.cc | 71 |
1 files changed, 39 insertions, 32 deletions
diff --git a/chrome/common/extensions/feature_unittest.cc b/chrome/common/extensions/feature_unittest.cc index 0ebaaa9..9d71b73 100644 --- a/chrome/common/extensions/feature_unittest.cc +++ b/chrome/common/extensions/feature_unittest.cc @@ -17,7 +17,7 @@ struct IsAvailableTestData { Feature::Location location; Feature::Platform platform; int manifest_version; - bool expected_result; + Feature::Availability expected_result; }; } // namespace @@ -25,19 +25,26 @@ struct IsAvailableTestData { TEST(ExtensionFeatureTest, IsAvailableNullCase) { const IsAvailableTestData tests[] = { { "", Extension::TYPE_UNKNOWN, Feature::UNSPECIFIED_CONTEXT, - Feature::UNSPECIFIED_LOCATION, Feature::UNSPECIFIED_PLATFORM, -1, true }, + Feature::UNSPECIFIED_LOCATION, Feature::UNSPECIFIED_PLATFORM, -1, + Feature::IS_AVAILABLE }, { "random-extension", Extension::TYPE_UNKNOWN, Feature::UNSPECIFIED_CONTEXT, - Feature::UNSPECIFIED_LOCATION, Feature::UNSPECIFIED_PLATFORM, -1, true }, + Feature::UNSPECIFIED_LOCATION, Feature::UNSPECIFIED_PLATFORM, -1, + Feature::IS_AVAILABLE }, { "", Extension::TYPE_PACKAGED_APP, Feature::UNSPECIFIED_CONTEXT, - Feature::UNSPECIFIED_LOCATION, Feature::UNSPECIFIED_PLATFORM, -1, true }, + Feature::UNSPECIFIED_LOCATION, Feature::UNSPECIFIED_PLATFORM, -1, + Feature::IS_AVAILABLE }, { "", Extension::TYPE_UNKNOWN, Feature::PRIVILEGED_CONTEXT, - Feature::UNSPECIFIED_LOCATION, Feature::UNSPECIFIED_PLATFORM, -1, true }, + Feature::UNSPECIFIED_LOCATION, Feature::UNSPECIFIED_PLATFORM, -1, + Feature::IS_AVAILABLE }, { "", Extension::TYPE_UNKNOWN, Feature::UNSPECIFIED_CONTEXT, - Feature::COMPONENT_LOCATION, Feature::UNSPECIFIED_PLATFORM, -1, true }, + Feature::COMPONENT_LOCATION, Feature::UNSPECIFIED_PLATFORM, -1, + Feature::IS_AVAILABLE }, { "", Extension::TYPE_UNKNOWN, Feature::UNSPECIFIED_CONTEXT, - Feature::UNSPECIFIED_LOCATION, Feature::CHROMEOS_PLATFORM, -1, true }, + Feature::UNSPECIFIED_LOCATION, Feature::CHROMEOS_PLATFORM, -1, + Feature::IS_AVAILABLE }, { "", Extension::TYPE_UNKNOWN, Feature::UNSPECIFIED_CONTEXT, - Feature::UNSPECIFIED_LOCATION, Feature::UNSPECIFIED_PLATFORM, 25, true } + Feature::UNSPECIFIED_LOCATION, Feature::UNSPECIFIED_PLATFORM, 25, + Feature::IS_AVAILABLE } }; Feature feature; @@ -55,22 +62,22 @@ TEST(ExtensionFeatureTest, Whitelist) { feature.whitelist()->insert("foo"); feature.whitelist()->insert("bar"); - EXPECT_TRUE(feature.IsAvailable( + EXPECT_EQ(Feature::IS_AVAILABLE, feature.IsAvailable( "foo", Extension::TYPE_UNKNOWN, Feature::UNSPECIFIED_LOCATION, Feature::UNSPECIFIED_CONTEXT, Feature::UNSPECIFIED_PLATFORM, -1)); - EXPECT_TRUE(feature.IsAvailable( + EXPECT_EQ(Feature::IS_AVAILABLE, feature.IsAvailable( "bar", Extension::TYPE_UNKNOWN, Feature::UNSPECIFIED_LOCATION, Feature::UNSPECIFIED_CONTEXT, Feature::UNSPECIFIED_PLATFORM, -1)); - EXPECT_FALSE(feature.IsAvailable( + EXPECT_EQ(Feature::NOT_FOUND_IN_WHITELIST, feature.IsAvailable( "baz", Extension::TYPE_UNKNOWN, Feature::UNSPECIFIED_LOCATION, Feature::UNSPECIFIED_CONTEXT, Feature::UNSPECIFIED_PLATFORM, -1)); - EXPECT_FALSE(feature.IsAvailable( + EXPECT_EQ(Feature::NOT_FOUND_IN_WHITELIST, feature.IsAvailable( "", Extension::TYPE_UNKNOWN, Feature::UNSPECIFIED_LOCATION, Feature::UNSPECIFIED_CONTEXT, Feature::UNSPECIFIED_PLATFORM, -1)); feature.extension_types()->insert(Extension::TYPE_PACKAGED_APP); - EXPECT_FALSE(feature.IsAvailable( + EXPECT_EQ(Feature::NOT_FOUND_IN_WHITELIST, feature.IsAvailable( "baz", Extension::TYPE_PACKAGED_APP, Feature::UNSPECIFIED_LOCATION, Feature::UNSPECIFIED_CONTEXT, Feature::UNSPECIFIED_PLATFORM, -1)); } @@ -80,17 +87,17 @@ TEST(ExtensionFeatureTest, PackageType) { feature.extension_types()->insert(Extension::TYPE_EXTENSION); feature.extension_types()->insert(Extension::TYPE_PACKAGED_APP); - EXPECT_TRUE(feature.IsAvailable( + EXPECT_EQ(Feature::IS_AVAILABLE, feature.IsAvailable( "", Extension::TYPE_EXTENSION, Feature::UNSPECIFIED_LOCATION, Feature::UNSPECIFIED_CONTEXT, Feature::UNSPECIFIED_PLATFORM, -1)); - EXPECT_TRUE(feature.IsAvailable( + EXPECT_EQ(Feature::IS_AVAILABLE, feature.IsAvailable( "", Extension::TYPE_PACKAGED_APP, Feature::UNSPECIFIED_LOCATION, Feature::UNSPECIFIED_CONTEXT, Feature::UNSPECIFIED_PLATFORM, -1)); - EXPECT_FALSE(feature.IsAvailable( + EXPECT_EQ(Feature::INVALID_TYPE, feature.IsAvailable( "", Extension::TYPE_UNKNOWN, Feature::UNSPECIFIED_LOCATION, Feature::UNSPECIFIED_CONTEXT, Feature::UNSPECIFIED_PLATFORM, -1)); - EXPECT_FALSE(feature.IsAvailable( + EXPECT_EQ(Feature::INVALID_TYPE, feature.IsAvailable( "", Extension::TYPE_THEME, Feature::UNSPECIFIED_LOCATION, Feature::UNSPECIFIED_CONTEXT, Feature::UNSPECIFIED_PLATFORM, -1)); } @@ -100,17 +107,17 @@ TEST(ExtensionFeatureTest, Context) { feature.contexts()->insert(Feature::PRIVILEGED_CONTEXT); feature.contexts()->insert(Feature::CONTENT_SCRIPT_CONTEXT); - EXPECT_TRUE(feature.IsAvailable( + EXPECT_EQ(Feature::IS_AVAILABLE, feature.IsAvailable( "", Extension::TYPE_UNKNOWN, Feature::UNSPECIFIED_LOCATION, Feature::PRIVILEGED_CONTEXT, Feature::UNSPECIFIED_PLATFORM, -1)); - EXPECT_TRUE(feature.IsAvailable( + EXPECT_EQ(Feature::IS_AVAILABLE, feature.IsAvailable( "", Extension::TYPE_UNKNOWN, Feature::UNSPECIFIED_LOCATION, Feature::CONTENT_SCRIPT_CONTEXT, Feature::UNSPECIFIED_PLATFORM, -1)); - EXPECT_FALSE(feature.IsAvailable( + EXPECT_EQ(Feature::INVALID_CONTEXT, feature.IsAvailable( "", Extension::TYPE_UNKNOWN, Feature::UNSPECIFIED_LOCATION, Feature::UNPRIVILEGED_CONTEXT, Feature::UNSPECIFIED_PLATFORM, -1)); - EXPECT_FALSE(feature.IsAvailable( + EXPECT_EQ(Feature::INVALID_CONTEXT, feature.IsAvailable( "", Extension::TYPE_UNKNOWN, Feature::UNSPECIFIED_LOCATION, Feature::UNSPECIFIED_CONTEXT, Feature::UNSPECIFIED_PLATFORM, -1)); } @@ -118,10 +125,10 @@ TEST(ExtensionFeatureTest, Context) { TEST(ExtensionFeatureTest, Location) { Feature feature; feature.set_location(Feature::COMPONENT_LOCATION); - EXPECT_TRUE(feature.IsAvailable( + EXPECT_EQ(Feature::IS_AVAILABLE, feature.IsAvailable( "", Extension::TYPE_UNKNOWN, Feature::COMPONENT_LOCATION, Feature::UNSPECIFIED_CONTEXT, Feature::UNSPECIFIED_PLATFORM, -1)); - EXPECT_FALSE(feature.IsAvailable( + EXPECT_EQ(Feature::INVALID_LOCATION, feature.IsAvailable( "", Extension::TYPE_UNKNOWN, Feature::UNSPECIFIED_LOCATION, Feature::UNSPECIFIED_CONTEXT, Feature::UNSPECIFIED_PLATFORM, -1)); } @@ -129,10 +136,10 @@ TEST(ExtensionFeatureTest, Location) { TEST(ExtensionFeatureTest, Platform) { Feature feature; feature.set_platform(Feature::CHROMEOS_PLATFORM); - EXPECT_TRUE(feature.IsAvailable( + EXPECT_EQ(Feature::IS_AVAILABLE, feature.IsAvailable( "", Extension::TYPE_UNKNOWN, Feature::UNSPECIFIED_LOCATION, Feature::UNSPECIFIED_CONTEXT, Feature::CHROMEOS_PLATFORM, -1)); - EXPECT_FALSE(feature.IsAvailable( + EXPECT_EQ(Feature::INVALID_PLATFORM, feature.IsAvailable( "", Extension::TYPE_UNKNOWN, Feature::UNSPECIFIED_LOCATION, Feature::UNSPECIFIED_CONTEXT, Feature::UNSPECIFIED_PLATFORM, -1)); } @@ -141,29 +148,29 @@ TEST(ExtensionFeatureTest, Version) { Feature feature; feature.set_min_manifest_version(5); - EXPECT_FALSE(feature.IsAvailable( + EXPECT_EQ(Feature::INVALID_MIN_MANIFEST_VERSION, feature.IsAvailable( "", Extension::TYPE_UNKNOWN, Feature::UNSPECIFIED_LOCATION, Feature::UNSPECIFIED_CONTEXT, Feature::UNSPECIFIED_PLATFORM, 0)); - EXPECT_FALSE(feature.IsAvailable( + EXPECT_EQ(Feature::INVALID_MIN_MANIFEST_VERSION, feature.IsAvailable( "", Extension::TYPE_UNKNOWN, Feature::UNSPECIFIED_LOCATION, Feature::UNSPECIFIED_CONTEXT, Feature::UNSPECIFIED_PLATFORM, 4)); - EXPECT_TRUE(feature.IsAvailable( + EXPECT_EQ(Feature::IS_AVAILABLE, feature.IsAvailable( "", Extension::TYPE_UNKNOWN, Feature::UNSPECIFIED_LOCATION, Feature::UNSPECIFIED_CONTEXT, Feature::UNSPECIFIED_PLATFORM, 5)); - EXPECT_TRUE(feature.IsAvailable( + EXPECT_EQ(Feature::IS_AVAILABLE, feature.IsAvailable( "", Extension::TYPE_UNKNOWN, Feature::UNSPECIFIED_LOCATION, Feature::UNSPECIFIED_CONTEXT, Feature::UNSPECIFIED_PLATFORM, 10)); feature.set_max_manifest_version(8); - EXPECT_FALSE(feature.IsAvailable( + EXPECT_EQ(Feature::INVALID_MAX_MANIFEST_VERSION, feature.IsAvailable( "", Extension::TYPE_UNKNOWN, Feature::UNSPECIFIED_LOCATION, Feature::UNSPECIFIED_CONTEXT, Feature::UNSPECIFIED_PLATFORM, 10)); - EXPECT_TRUE(feature.IsAvailable( + EXPECT_EQ(Feature::IS_AVAILABLE, feature.IsAvailable( "", Extension::TYPE_UNKNOWN, Feature::UNSPECIFIED_LOCATION, Feature::UNSPECIFIED_CONTEXT, Feature::UNSPECIFIED_PLATFORM, 8)); - EXPECT_TRUE(feature.IsAvailable( + EXPECT_EQ(Feature::IS_AVAILABLE, feature.IsAvailable( "", Extension::TYPE_UNKNOWN, Feature::UNSPECIFIED_LOCATION, Feature::UNSPECIFIED_CONTEXT, Feature::UNSPECIFIED_PLATFORM, 7)); } |