Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(7424)

Unified Diff: chrome/common/extensions/feature_unittest.cc

Issue 9664053: Re-land 125247: Better error messages when using unsupported manifest features. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/common/extensions/feature.cc ('k') | chrome/common/extensions/manifest.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/common/extensions/feature_unittest.cc
diff --git a/chrome/common/extensions/feature_unittest.cc b/chrome/common/extensions/feature_unittest.cc
index 0ebaaa9d647cbfa9d39a3b63e75cdca6ab7c0b4c..9d71b73d6c20160e5f7c3c9bb24903e1fa5fb324 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));
}
« no previous file with comments | « chrome/common/extensions/feature.cc ('k') | chrome/common/extensions/manifest.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698