summaryrefslogtreecommitdiffstats
path: root/chrome/common/extensions/feature_unittest.cc
diff options
context:
space:
mode:
authoraa@chromium.org <aa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-03-12 06:07:46 +0000
committeraa@chromium.org <aa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-03-12 06:07:46 +0000
commitd005e9df0f1d5f18206f3e847e525927a10ebeb1 (patch)
treeb17953f7030d70c5ed2776a1a06d10414d21fc84 /chrome/common/extensions/feature_unittest.cc
parent31526823f1e7e7f1418f44cfb0f4e0283daf54ec (diff)
downloadchromium_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.cc71
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));
}