| Index: extensions/common/features/simple_feature_unittest.cc
|
| diff --git a/extensions/common/features/simple_feature_unittest.cc b/extensions/common/features/simple_feature_unittest.cc
|
| index aa84bf82becaebd335d9dd875bd463023455a795..ddcac9ac1b7d83cc9ac9b791def98d7fdc0c327d 100644
|
| --- a/extensions/common/features/simple_feature_unittest.cc
|
| +++ b/extensions/common/features/simple_feature_unittest.cc
|
| @@ -18,51 +18,60 @@ using extensions::Manifest;
|
| using extensions::ScopedCurrentChannel;
|
| using extensions::SimpleFeature;
|
|
|
| +namespace extensions {
|
| +
|
| namespace {
|
|
|
| struct IsAvailableTestData {
|
| std::string extension_id;
|
| Manifest::Type extension_type;
|
| - Feature::Location location;
|
| + Manifest::Location location;
|
| Feature::Platform platform;
|
| int manifest_version;
|
| Feature::AvailabilityResult expected_result;
|
| };
|
|
|
| +} // namespace
|
| +
|
| class ExtensionSimpleFeatureTest : public testing::Test {
|
| protected:
|
| ExtensionSimpleFeatureTest()
|
| : current_channel_(VersionInfo::CHANNEL_UNKNOWN) {}
|
| virtual ~ExtensionSimpleFeatureTest() {}
|
|
|
| + bool LocationIsAvailable(SimpleFeature::Location feature_location,
|
| + Manifest::Location manifest_location) {
|
| + SimpleFeature feature;
|
| + feature.set_location(feature_location);
|
| + Feature::AvailabilityResult availability_result =
|
| + feature.IsAvailableToManifest(std::string(),
|
| + Manifest::TYPE_UNKNOWN,
|
| + manifest_location,
|
| + -1,
|
| + Feature::UNSPECIFIED_PLATFORM).result();
|
| + return availability_result == Feature::IS_AVAILABLE;
|
| + }
|
| +
|
| private:
|
| ScopedCurrentChannel current_channel_;
|
| };
|
|
|
| TEST_F(ExtensionSimpleFeatureTest, IsAvailableNullCase) {
|
| const IsAvailableTestData tests[] = {
|
| - { "", Manifest::TYPE_UNKNOWN,
|
| - Feature::UNSPECIFIED_LOCATION, Feature::UNSPECIFIED_PLATFORM, -1,
|
| - Feature::IS_AVAILABLE },
|
| - { "random-extension", Manifest::TYPE_UNKNOWN,
|
| - Feature::UNSPECIFIED_LOCATION, Feature::UNSPECIFIED_PLATFORM, -1,
|
| - Feature::IS_AVAILABLE },
|
| - { "", Manifest::TYPE_LEGACY_PACKAGED_APP,
|
| - Feature::UNSPECIFIED_LOCATION, Feature::UNSPECIFIED_PLATFORM, -1,
|
| - Feature::IS_AVAILABLE },
|
| - { "", Manifest::TYPE_UNKNOWN,
|
| - Feature::UNSPECIFIED_LOCATION, Feature::UNSPECIFIED_PLATFORM, -1,
|
| - Feature::IS_AVAILABLE },
|
| - { "", Manifest::TYPE_UNKNOWN,
|
| - Feature::COMPONENT_LOCATION, Feature::UNSPECIFIED_PLATFORM, -1,
|
| - Feature::IS_AVAILABLE },
|
| - { "", Manifest::TYPE_UNKNOWN,
|
| - Feature::UNSPECIFIED_LOCATION, Feature::CHROMEOS_PLATFORM, -1,
|
| - Feature::IS_AVAILABLE },
|
| - { "", Manifest::TYPE_UNKNOWN,
|
| - Feature::UNSPECIFIED_LOCATION, Feature::UNSPECIFIED_PLATFORM, 25,
|
| - Feature::IS_AVAILABLE }
|
| - };
|
| + {"", Manifest::TYPE_UNKNOWN, Manifest::INVALID_LOCATION,
|
| + Feature::UNSPECIFIED_PLATFORM, -1, Feature::IS_AVAILABLE},
|
| + {"random-extension", Manifest::TYPE_UNKNOWN, Manifest::INVALID_LOCATION,
|
| + Feature::UNSPECIFIED_PLATFORM, -1, Feature::IS_AVAILABLE},
|
| + {"", Manifest::TYPE_LEGACY_PACKAGED_APP, Manifest::INVALID_LOCATION,
|
| + Feature::UNSPECIFIED_PLATFORM, -1, Feature::IS_AVAILABLE},
|
| + {"", Manifest::TYPE_UNKNOWN, Manifest::INVALID_LOCATION,
|
| + Feature::UNSPECIFIED_PLATFORM, -1, Feature::IS_AVAILABLE},
|
| + {"", Manifest::TYPE_UNKNOWN, Manifest::COMPONENT,
|
| + Feature::UNSPECIFIED_PLATFORM, -1, Feature::IS_AVAILABLE},
|
| + {"", Manifest::TYPE_UNKNOWN, Manifest::INVALID_LOCATION,
|
| + Feature::CHROMEOS_PLATFORM, -1, Feature::IS_AVAILABLE},
|
| + {"", Manifest::TYPE_UNKNOWN, Manifest::INVALID_LOCATION,
|
| + Feature::UNSPECIFIED_PLATFORM, 25, Feature::IS_AVAILABLE}};
|
|
|
| SimpleFeature feature;
|
| for (size_t i = 0; i < arraysize(tests); ++i) {
|
| @@ -84,29 +93,44 @@ TEST_F(ExtensionSimpleFeatureTest, Whitelist) {
|
| feature.whitelist()->insert(kIdFoo);
|
| feature.whitelist()->insert(kIdBar);
|
|
|
| - EXPECT_EQ(Feature::IS_AVAILABLE, feature.IsAvailableToManifest(
|
| - kIdFoo, Manifest::TYPE_UNKNOWN, Feature::UNSPECIFIED_LOCATION, -1,
|
| - Feature::UNSPECIFIED_PLATFORM).result());
|
| - EXPECT_EQ(Feature::IS_AVAILABLE, feature.IsAvailableToManifest(
|
| - kIdBar, Manifest::TYPE_UNKNOWN, Feature::UNSPECIFIED_LOCATION, -1,
|
| - Feature::UNSPECIFIED_PLATFORM).result());
|
| + EXPECT_EQ(
|
| + Feature::IS_AVAILABLE,
|
| + feature.IsAvailableToManifest(kIdFoo,
|
| + Manifest::TYPE_UNKNOWN,
|
| + Manifest::INVALID_LOCATION,
|
| + -1,
|
| + Feature::UNSPECIFIED_PLATFORM).result());
|
| + EXPECT_EQ(
|
| + Feature::IS_AVAILABLE,
|
| + feature.IsAvailableToManifest(kIdBar,
|
| + Manifest::TYPE_UNKNOWN,
|
| + Manifest::INVALID_LOCATION,
|
| + -1,
|
| + Feature::UNSPECIFIED_PLATFORM).result());
|
|
|
| - EXPECT_EQ(Feature::NOT_FOUND_IN_WHITELIST, feature.IsAvailableToManifest(
|
| - kIdBaz, Manifest::TYPE_UNKNOWN, Feature::UNSPECIFIED_LOCATION, -1,
|
| - Feature::UNSPECIFIED_PLATFORM).result());
|
| + EXPECT_EQ(
|
| + Feature::NOT_FOUND_IN_WHITELIST,
|
| + feature.IsAvailableToManifest(kIdBaz,
|
| + Manifest::TYPE_UNKNOWN,
|
| + Manifest::INVALID_LOCATION,
|
| + -1,
|
| + Feature::UNSPECIFIED_PLATFORM).result());
|
| EXPECT_EQ(
|
| Feature::NOT_FOUND_IN_WHITELIST,
|
| feature.IsAvailableToManifest(std::string(),
|
| Manifest::TYPE_UNKNOWN,
|
| - Feature::UNSPECIFIED_LOCATION,
|
| + Manifest::INVALID_LOCATION,
|
| -1,
|
| Feature::UNSPECIFIED_PLATFORM).result());
|
|
|
| feature.extension_types()->insert(Manifest::TYPE_LEGACY_PACKAGED_APP);
|
| - EXPECT_EQ(Feature::NOT_FOUND_IN_WHITELIST, feature.IsAvailableToManifest(
|
| - kIdBaz, Manifest::TYPE_LEGACY_PACKAGED_APP,
|
| - Feature::UNSPECIFIED_LOCATION, -1,
|
| - Feature::UNSPECIFIED_PLATFORM).result());
|
| + EXPECT_EQ(
|
| + Feature::NOT_FOUND_IN_WHITELIST,
|
| + feature.IsAvailableToManifest(kIdBaz,
|
| + Manifest::TYPE_LEGACY_PACKAGED_APP,
|
| + Manifest::INVALID_LOCATION,
|
| + -1,
|
| + Feature::UNSPECIFIED_PLATFORM).result());
|
| }
|
|
|
| TEST_F(ExtensionSimpleFeatureTest, HashedIdWhitelist) {
|
| @@ -118,21 +142,34 @@ TEST_F(ExtensionSimpleFeatureTest, HashedIdWhitelist) {
|
|
|
| feature.whitelist()->insert(kIdFooHashed);
|
|
|
| - EXPECT_EQ(Feature::IS_AVAILABLE, feature.IsAvailableToManifest(
|
| - kIdFoo, Manifest::TYPE_UNKNOWN, Feature::UNSPECIFIED_LOCATION, -1,
|
| - Feature::UNSPECIFIED_PLATFORM).result());
|
| - EXPECT_NE(Feature::IS_AVAILABLE, feature.IsAvailableToManifest(
|
| - kIdFooHashed, Manifest::TYPE_UNKNOWN,
|
| - Feature::UNSPECIFIED_LOCATION, -1,
|
| - Feature::UNSPECIFIED_PLATFORM).result());
|
| - EXPECT_EQ(Feature::NOT_FOUND_IN_WHITELIST, feature.IsAvailableToManifest(
|
| - "slightlytoooolongforanextensionid", Manifest::TYPE_UNKNOWN,
|
| - Feature::UNSPECIFIED_LOCATION, -1,
|
| - Feature::UNSPECIFIED_PLATFORM).result());
|
| - EXPECT_EQ(Feature::NOT_FOUND_IN_WHITELIST, feature.IsAvailableToManifest(
|
| - "tooshortforanextensionid", Manifest::TYPE_UNKNOWN,
|
| - Feature::UNSPECIFIED_LOCATION, -1,
|
| - Feature::UNSPECIFIED_PLATFORM).result());
|
| + EXPECT_EQ(
|
| + Feature::IS_AVAILABLE,
|
| + feature.IsAvailableToManifest(kIdFoo,
|
| + Manifest::TYPE_UNKNOWN,
|
| + Manifest::INVALID_LOCATION,
|
| + -1,
|
| + Feature::UNSPECIFIED_PLATFORM).result());
|
| + EXPECT_NE(
|
| + Feature::IS_AVAILABLE,
|
| + feature.IsAvailableToManifest(kIdFooHashed,
|
| + Manifest::TYPE_UNKNOWN,
|
| + Manifest::INVALID_LOCATION,
|
| + -1,
|
| + Feature::UNSPECIFIED_PLATFORM).result());
|
| + EXPECT_EQ(
|
| + Feature::NOT_FOUND_IN_WHITELIST,
|
| + feature.IsAvailableToManifest("slightlytoooolongforanextensionid",
|
| + Manifest::TYPE_UNKNOWN,
|
| + Manifest::INVALID_LOCATION,
|
| + -1,
|
| + Feature::UNSPECIFIED_PLATFORM).result());
|
| + EXPECT_EQ(
|
| + Feature::NOT_FOUND_IN_WHITELIST,
|
| + feature.IsAvailableToManifest("tooshortforanextensionid",
|
| + Manifest::TYPE_UNKNOWN,
|
| + Manifest::INVALID_LOCATION,
|
| + -1,
|
| + Feature::UNSPECIFIED_PLATFORM).result());
|
| }
|
|
|
| TEST_F(ExtensionSimpleFeatureTest, PackageType) {
|
| @@ -144,14 +181,14 @@ TEST_F(ExtensionSimpleFeatureTest, PackageType) {
|
| Feature::IS_AVAILABLE,
|
| feature.IsAvailableToManifest(std::string(),
|
| Manifest::TYPE_EXTENSION,
|
| - Feature::UNSPECIFIED_LOCATION,
|
| + Manifest::INVALID_LOCATION,
|
| -1,
|
| Feature::UNSPECIFIED_PLATFORM).result());
|
| EXPECT_EQ(
|
| Feature::IS_AVAILABLE,
|
| feature.IsAvailableToManifest(std::string(),
|
| Manifest::TYPE_LEGACY_PACKAGED_APP,
|
| - Feature::UNSPECIFIED_LOCATION,
|
| + Manifest::INVALID_LOCATION,
|
| -1,
|
| Feature::UNSPECIFIED_PLATFORM).result());
|
|
|
| @@ -159,14 +196,14 @@ TEST_F(ExtensionSimpleFeatureTest, PackageType) {
|
| Feature::INVALID_TYPE,
|
| feature.IsAvailableToManifest(std::string(),
|
| Manifest::TYPE_UNKNOWN,
|
| - Feature::UNSPECIFIED_LOCATION,
|
| + Manifest::INVALID_LOCATION,
|
| -1,
|
| Feature::UNSPECIFIED_PLATFORM).result());
|
| EXPECT_EQ(
|
| Feature::INVALID_TYPE,
|
| feature.IsAvailableToManifest(std::string(),
|
| Manifest::TYPE_THEME,
|
| - Feature::UNSPECIFIED_LOCATION,
|
| + Manifest::INVALID_LOCATION,
|
| -1,
|
| Feature::UNSPECIFIED_PLATFORM).result());
|
| }
|
| @@ -239,11 +276,11 @@ TEST_F(ExtensionSimpleFeatureTest, Context) {
|
|
|
| feature.GetContexts()->clear();
|
| feature.GetContexts()->insert(Feature::BLESSED_EXTENSION_CONTEXT);
|
| - feature.set_location(Feature::COMPONENT_LOCATION);
|
| + feature.set_location(SimpleFeature::COMPONENT_LOCATION);
|
| EXPECT_EQ(Feature::INVALID_LOCATION, feature.IsAvailableToContext(
|
| extension.get(), Feature::BLESSED_EXTENSION_CONTEXT,
|
| Feature::CHROMEOS_PLATFORM).result());
|
| - feature.set_location(Feature::UNSPECIFIED_LOCATION);
|
| + feature.set_location(SimpleFeature::UNSPECIFIED_LOCATION);
|
|
|
| EXPECT_EQ(Feature::INVALID_PLATFORM, feature.IsAvailableToContext(
|
| extension.get(), Feature::BLESSED_EXTENSION_CONTEXT,
|
| @@ -263,35 +300,39 @@ TEST_F(ExtensionSimpleFeatureTest, Context) {
|
| }
|
|
|
| TEST_F(ExtensionSimpleFeatureTest, Location) {
|
| - SimpleFeature feature;
|
| -
|
| - // If the feature specifies "component" as its location, then only component
|
| - // extensions can access it.
|
| - feature.set_location(Feature::COMPONENT_LOCATION);
|
| - EXPECT_EQ(
|
| - Feature::IS_AVAILABLE,
|
| - feature.IsAvailableToManifest(std::string(),
|
| - Manifest::TYPE_UNKNOWN,
|
| - Feature::COMPONENT_LOCATION,
|
| - -1,
|
| - Feature::UNSPECIFIED_PLATFORM).result());
|
| - EXPECT_EQ(
|
| - Feature::INVALID_LOCATION,
|
| - feature.IsAvailableToManifest(std::string(),
|
| - Manifest::TYPE_UNKNOWN,
|
| - Feature::UNSPECIFIED_LOCATION,
|
| - -1,
|
| - Feature::UNSPECIFIED_PLATFORM).result());
|
| -
|
| - // But component extensions can access anything else, whatever their location.
|
| - feature.set_location(Feature::UNSPECIFIED_LOCATION);
|
| - EXPECT_EQ(
|
| - Feature::IS_AVAILABLE,
|
| - feature.IsAvailableToManifest(std::string(),
|
| - Manifest::TYPE_UNKNOWN,
|
| - Feature::COMPONENT_LOCATION,
|
| - -1,
|
| - Feature::UNSPECIFIED_PLATFORM).result());
|
| + // Component extensions can access any location.
|
| + EXPECT_TRUE(LocationIsAvailable(SimpleFeature::COMPONENT_LOCATION,
|
| + Manifest::COMPONENT));
|
| + EXPECT_TRUE(
|
| + LocationIsAvailable(SimpleFeature::POLICY_LOCATION, Manifest::COMPONENT));
|
| + EXPECT_TRUE(LocationIsAvailable(SimpleFeature::UNSPECIFIED_LOCATION,
|
| + Manifest::COMPONENT));
|
| +
|
| + // Only component extensions can access the "component" location.
|
| + EXPECT_FALSE(LocationIsAvailable(SimpleFeature::COMPONENT_LOCATION,
|
| + Manifest::INVALID_LOCATION));
|
| + EXPECT_FALSE(LocationIsAvailable(SimpleFeature::COMPONENT_LOCATION,
|
| + Manifest::UNPACKED));
|
| + EXPECT_FALSE(LocationIsAvailable(SimpleFeature::COMPONENT_LOCATION,
|
| + Manifest::EXTERNAL_PREF_DOWNLOAD));
|
| + EXPECT_FALSE(LocationIsAvailable(SimpleFeature::COMPONENT_LOCATION,
|
| + Manifest::EXTERNAL_POLICY));
|
| + EXPECT_FALSE(LocationIsAvailable(SimpleFeature::COMPONENT_LOCATION,
|
| + Manifest::EXTERNAL_POLICY_DOWNLOAD));
|
| +
|
| + // Policy extensions can access the "policy" location.
|
| + EXPECT_TRUE(LocationIsAvailable(SimpleFeature::POLICY_LOCATION,
|
| + Manifest::EXTERNAL_POLICY));
|
| + EXPECT_TRUE(LocationIsAvailable(SimpleFeature::POLICY_LOCATION,
|
| + Manifest::EXTERNAL_POLICY_DOWNLOAD));
|
| +
|
| + // Non-policy (except component) extensions cannot access policy.
|
| + EXPECT_FALSE(LocationIsAvailable(SimpleFeature::POLICY_LOCATION,
|
| + Manifest::INVALID_LOCATION));
|
| + EXPECT_FALSE(
|
| + LocationIsAvailable(SimpleFeature::POLICY_LOCATION, Manifest::UNPACKED));
|
| + EXPECT_FALSE(LocationIsAvailable(SimpleFeature::POLICY_LOCATION,
|
| + Manifest::EXTERNAL_PREF_DOWNLOAD));
|
| }
|
|
|
| TEST_F(ExtensionSimpleFeatureTest, Platform) {
|
| @@ -300,14 +341,14 @@ TEST_F(ExtensionSimpleFeatureTest, Platform) {
|
| EXPECT_EQ(Feature::IS_AVAILABLE,
|
| feature.IsAvailableToManifest(std::string(),
|
| Manifest::TYPE_UNKNOWN,
|
| - Feature::UNSPECIFIED_LOCATION,
|
| + Manifest::INVALID_LOCATION,
|
| -1,
|
| Feature::CHROMEOS_PLATFORM).result());
|
| EXPECT_EQ(
|
| Feature::INVALID_PLATFORM,
|
| feature.IsAvailableToManifest(std::string(),
|
| Manifest::TYPE_UNKNOWN,
|
| - Feature::UNSPECIFIED_LOCATION,
|
| + Manifest::INVALID_LOCATION,
|
| -1,
|
| Feature::UNSPECIFIED_PLATFORM).result());
|
| }
|
| @@ -320,14 +361,14 @@ TEST_F(ExtensionSimpleFeatureTest, Version) {
|
| Feature::INVALID_MIN_MANIFEST_VERSION,
|
| feature.IsAvailableToManifest(std::string(),
|
| Manifest::TYPE_UNKNOWN,
|
| - Feature::UNSPECIFIED_LOCATION,
|
| + Manifest::INVALID_LOCATION,
|
| 0,
|
| Feature::UNSPECIFIED_PLATFORM).result());
|
| EXPECT_EQ(
|
| Feature::INVALID_MIN_MANIFEST_VERSION,
|
| feature.IsAvailableToManifest(std::string(),
|
| Manifest::TYPE_UNKNOWN,
|
| - Feature::UNSPECIFIED_LOCATION,
|
| + Manifest::INVALID_LOCATION,
|
| 4,
|
| Feature::UNSPECIFIED_PLATFORM).result());
|
|
|
| @@ -335,14 +376,14 @@ TEST_F(ExtensionSimpleFeatureTest, Version) {
|
| Feature::IS_AVAILABLE,
|
| feature.IsAvailableToManifest(std::string(),
|
| Manifest::TYPE_UNKNOWN,
|
| - Feature::UNSPECIFIED_LOCATION,
|
| + Manifest::INVALID_LOCATION,
|
| 5,
|
| Feature::UNSPECIFIED_PLATFORM).result());
|
| EXPECT_EQ(
|
| Feature::IS_AVAILABLE,
|
| feature.IsAvailableToManifest(std::string(),
|
| Manifest::TYPE_UNKNOWN,
|
| - Feature::UNSPECIFIED_LOCATION,
|
| + Manifest::INVALID_LOCATION,
|
| 10,
|
| Feature::UNSPECIFIED_PLATFORM).result());
|
|
|
| @@ -352,21 +393,21 @@ TEST_F(ExtensionSimpleFeatureTest, Version) {
|
| Feature::INVALID_MAX_MANIFEST_VERSION,
|
| feature.IsAvailableToManifest(std::string(),
|
| Manifest::TYPE_UNKNOWN,
|
| - Feature::UNSPECIFIED_LOCATION,
|
| + Manifest::INVALID_LOCATION,
|
| 10,
|
| Feature::UNSPECIFIED_PLATFORM).result());
|
| EXPECT_EQ(
|
| Feature::IS_AVAILABLE,
|
| feature.IsAvailableToManifest(std::string(),
|
| Manifest::TYPE_UNKNOWN,
|
| - Feature::UNSPECIFIED_LOCATION,
|
| + Manifest::INVALID_LOCATION,
|
| 8,
|
| Feature::UNSPECIFIED_PLATFORM).result());
|
| EXPECT_EQ(
|
| Feature::IS_AVAILABLE,
|
| feature.IsAvailableToManifest(std::string(),
|
| Manifest::TYPE_UNKNOWN,
|
| - Feature::UNSPECIFIED_LOCATION,
|
| + Manifest::INVALID_LOCATION,
|
| 7,
|
| Feature::UNSPECIFIED_PLATFORM).result());
|
| }
|
| @@ -378,7 +419,7 @@ TEST_F(ExtensionSimpleFeatureTest, ParseNull) {
|
| EXPECT_TRUE(feature->whitelist()->empty());
|
| EXPECT_TRUE(feature->extension_types()->empty());
|
| EXPECT_TRUE(feature->GetContexts()->empty());
|
| - EXPECT_EQ(Feature::UNSPECIFIED_LOCATION, feature->location());
|
| + EXPECT_EQ(SimpleFeature::UNSPECIFIED_LOCATION, feature->location());
|
| EXPECT_TRUE(feature->platforms()->empty());
|
| EXPECT_EQ(0, feature->min_manifest_version());
|
| EXPECT_EQ(0, feature->max_manifest_version());
|
| @@ -458,7 +499,7 @@ TEST_F(ExtensionSimpleFeatureTest, ParseLocation) {
|
| value->SetString("location", "component");
|
| scoped_ptr<SimpleFeature> feature(new SimpleFeature());
|
| feature->Parse(value.get());
|
| - EXPECT_EQ(Feature::COMPONENT_LOCATION, feature->location());
|
| + EXPECT_EQ(SimpleFeature::COMPONENT_LOCATION, feature->location());
|
| }
|
|
|
| TEST_F(ExtensionSimpleFeatureTest, ParsePlatforms) {
|
| @@ -507,7 +548,7 @@ TEST_F(ExtensionSimpleFeatureTest, Inheritance) {
|
| feature.whitelist()->insert("foo");
|
| feature.extension_types()->insert(Manifest::TYPE_THEME);
|
| feature.GetContexts()->insert(Feature::BLESSED_EXTENSION_CONTEXT);
|
| - feature.set_location(Feature::COMPONENT_LOCATION);
|
| + feature.set_location(SimpleFeature::COMPONENT_LOCATION);
|
| feature.platforms()->insert(Feature::CHROMEOS_PLATFORM);
|
| feature.set_min_manifest_version(1);
|
| feature.set_max_manifest_version(2);
|
| @@ -520,7 +561,7 @@ TEST_F(ExtensionSimpleFeatureTest, Inheritance) {
|
| EXPECT_EQ(1u, feature.extension_types()->size());
|
| EXPECT_EQ(1u, feature.GetContexts()->size());
|
| EXPECT_EQ(1u, feature.whitelist()->count("foo"));
|
| - EXPECT_EQ(Feature::COMPONENT_LOCATION, feature.location());
|
| + EXPECT_EQ(SimpleFeature::COMPONENT_LOCATION, feature.location());
|
| EXPECT_EQ(1u, feature.platforms()->size());
|
| EXPECT_EQ(1u, feature.platforms()->count(Feature::CHROMEOS_PLATFORM));
|
| EXPECT_EQ(1, feature.min_manifest_version());
|
| @@ -564,12 +605,11 @@ Feature::AvailabilityResult IsAvailableInChannel(
|
| feature.Parse(&feature_value);
|
| }
|
|
|
| - return feature.IsAvailableToManifest(
|
| - "random-extension",
|
| - Manifest::TYPE_UNKNOWN,
|
| - Feature::UNSPECIFIED_LOCATION,
|
| - -1,
|
| - Feature::GetCurrentPlatform()).result();
|
| + return feature.IsAvailableToManifest("random-extension",
|
| + Manifest::TYPE_UNKNOWN,
|
| + Manifest::INVALID_LOCATION,
|
| + -1,
|
| + Feature::GetCurrentPlatform()).result();
|
| }
|
|
|
| TEST_F(ExtensionSimpleFeatureTest, SupportedChannel) {
|
| @@ -634,4 +674,4 @@ TEST_F(ExtensionSimpleFeatureTest, SupportedChannel) {
|
| IsAvailableInChannel("trunk", VersionInfo::CHANNEL_STABLE));
|
| }
|
|
|
| -} // namespace
|
| +} // namespace extensions
|
|
|