Index: chrome/common/extensions/features/simple_feature_provider_unittest.cc |
diff --git a/chrome/common/extensions/features/simple_feature_provider_unittest.cc b/chrome/common/extensions/features/simple_feature_provider_unittest.cc |
deleted file mode 100644 |
index 0503ddc7a30e99f406d50950145ec7b93d104a2d..0000000000000000000000000000000000000000 |
--- a/chrome/common/extensions/features/simple_feature_provider_unittest.cc |
+++ /dev/null |
@@ -1,124 +0,0 @@ |
-// Copyright (c) 2012 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#include "chrome/common/extensions/features/simple_feature_provider.h" |
- |
-#include "testing/gtest/include/gtest/gtest.h" |
- |
-using extensions::Extension; |
-using extensions::Feature; |
-using extensions::SimpleFeatureProvider; |
- |
-TEST(SimpleFeatureProvider, ManifestFeatures) { |
- SimpleFeatureProvider* provider = |
- SimpleFeatureProvider::GetManifestFeatures(); |
- Feature* feature = provider->GetFeature("description"); |
- ASSERT_TRUE(feature); |
- EXPECT_EQ(5u, feature->extension_types()->size()); |
- EXPECT_EQ(1u, feature->extension_types()->count(Extension::TYPE_EXTENSION)); |
- EXPECT_EQ(1u, |
- feature->extension_types()->count(Extension::TYPE_LEGACY_PACKAGED_APP)); |
- EXPECT_EQ(1u, |
- feature->extension_types()->count(Extension::TYPE_PLATFORM_APP)); |
- EXPECT_EQ(1u, feature->extension_types()->count(Extension::TYPE_HOSTED_APP)); |
- EXPECT_EQ(1u, feature->extension_types()->count(Extension::TYPE_THEME)); |
- |
- DictionaryValue manifest; |
- manifest.SetString("name", "test extension"); |
- manifest.SetString("version", "1"); |
- manifest.SetString("description", "hello there"); |
- |
- std::string error; |
- scoped_refptr<const Extension> extension(Extension::Create( |
- FilePath(), Extension::INTERNAL, manifest, Extension::NO_FLAGS, |
- &error)); |
- |
- ASSERT_TRUE(extension.get()); |
- EXPECT_EQ(Feature::IS_AVAILABLE, feature->IsAvailableToContext( |
- extension.get(), Feature::UNSPECIFIED_CONTEXT).result()); |
- |
- feature = provider->GetFeature("theme"); |
- ASSERT_TRUE(feature); |
- EXPECT_EQ(Feature::INVALID_TYPE, feature->IsAvailableToContext( |
- extension.get(), Feature::UNSPECIFIED_CONTEXT).result()); |
- |
- feature = provider->GetFeature("devtools_page"); |
- ASSERT_TRUE(feature); |
- EXPECT_EQ(Feature::NOT_PRESENT, feature->IsAvailableToContext( |
- extension.get(), Feature::UNSPECIFIED_CONTEXT).result()); |
-} |
- |
-TEST(SimpleFeatureProvider, PermissionFeatures) { |
- SimpleFeatureProvider* provider = |
- SimpleFeatureProvider::GetPermissionFeatures(); |
- Feature* feature = provider->GetFeature("contextMenus"); |
- ASSERT_TRUE(feature); |
- EXPECT_EQ(3u, feature->extension_types()->size()); |
- EXPECT_EQ(1u, feature->extension_types()->count(Extension::TYPE_EXTENSION)); |
- EXPECT_EQ(1u, |
- feature->extension_types()->count(Extension::TYPE_LEGACY_PACKAGED_APP)); |
- EXPECT_EQ(1u, |
- feature->extension_types()->count(Extension::TYPE_PLATFORM_APP)); |
- |
- DictionaryValue manifest; |
- manifest.SetString("name", "test extension"); |
- manifest.SetString("version", "1"); |
- ListValue* permissions = new ListValue(); |
- manifest.Set("permissions", permissions); |
- permissions->Append(Value::CreateStringValue("contextMenus")); |
- |
- std::string error; |
- scoped_refptr<const Extension> extension(Extension::Create( |
- FilePath(), Extension::INTERNAL, manifest, Extension::NO_FLAGS, |
- &error)); |
- |
- ASSERT_TRUE(extension.get()); |
- EXPECT_EQ(Feature::IS_AVAILABLE, feature->IsAvailableToContext( |
- extension.get(), Feature::UNSPECIFIED_CONTEXT).result()); |
- |
- feature = provider->GetFeature("chromePrivate"); |
- ASSERT_TRUE(feature); |
- EXPECT_EQ(Feature::NOT_FOUND_IN_WHITELIST, feature->IsAvailableToContext( |
- extension.get(), Feature::UNSPECIFIED_CONTEXT).result()); |
- |
- feature = provider->GetFeature("clipboardWrite"); |
- ASSERT_TRUE(feature); |
- EXPECT_EQ(Feature::NOT_PRESENT, feature->IsAvailableToContext( |
- extension.get(), Feature::UNSPECIFIED_CONTEXT).result()); |
-} |
- |
-TEST(SimpleFeatureProvider, Validation) { |
- scoped_ptr<DictionaryValue> value(new DictionaryValue()); |
- |
- DictionaryValue* feature1 = new DictionaryValue(); |
- value->Set("feature1", feature1); |
- |
- DictionaryValue* feature2 = new DictionaryValue(); |
- ListValue* extension_types = new ListValue(); |
- extension_types->Append(Value::CreateStringValue("extension")); |
- feature2->Set("extension_types", extension_types); |
- ListValue* contexts = new ListValue(); |
- contexts->Append(Value::CreateStringValue("blessed_extension")); |
- feature2->Set("contexts", contexts); |
- value->Set("feature2", feature2); |
- |
- scoped_ptr<SimpleFeatureProvider> provider( |
- new SimpleFeatureProvider(value.get(), NULL)); |
- |
- // feature1 won't validate because it lacks an extension type. |
- EXPECT_FALSE(provider->GetFeature("feature1")); |
- |
- // If we add one, it works. |
- feature1->Set("extension_types", extension_types->DeepCopy()); |
- provider.reset(new SimpleFeatureProvider(value.get(), NULL)); |
- EXPECT_TRUE(provider->GetFeature("feature1")); |
- |
- // feature2 won't validate because of the presence of "contexts". |
- EXPECT_FALSE(provider->GetFeature("feature2")); |
- |
- // If we remove it, it works. |
- feature2->Remove("contexts", NULL); |
- provider.reset(new SimpleFeatureProvider(value.get(), NULL)); |
- EXPECT_TRUE(provider->GetFeature("feature2")); |
-} |