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

Side by Side Diff: chrome/common/extensions/features/simple_feature_provider_unittest.cc

Issue 11316164: Implement ComplexFeature to support permission features with multiple rules. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: new Created 8 years 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/common/extensions/features/simple_feature_provider.h" 5 #include "chrome/common/extensions/features/simple_feature_provider.h"
6 6
7 #include "testing/gtest/include/gtest/gtest.h" 7 #include "testing/gtest/include/gtest/gtest.h"
8 8
9 using extensions::Extension; 9 using extensions::Extension;
10 using extensions::Feature; 10 using extensions::Feature;
11 using extensions::SimpleFeature;
11 using extensions::SimpleFeatureProvider; 12 using extensions::SimpleFeatureProvider;
12 13
13 TEST(SimpleFeatureProvider, ManifestFeatures) { 14 TEST(SimpleFeatureProvider, ManifestFeatures) {
14 SimpleFeatureProvider* provider = 15 SimpleFeatureProvider* provider =
15 SimpleFeatureProvider::GetManifestFeatures(); 16 SimpleFeatureProvider::GetManifestFeatures();
16 Feature* feature = provider->GetFeature("description"); 17 SimpleFeature* feature = provider->GetFeature("description");
17 ASSERT_TRUE(feature); 18 ASSERT_TRUE(feature);
18 EXPECT_EQ(5u, feature->extension_types()->size()); 19 EXPECT_EQ(5u, feature->extension_types()->size());
19 EXPECT_EQ(1u, feature->extension_types()->count(Extension::TYPE_EXTENSION)); 20 EXPECT_EQ(1u, feature->extension_types()->count(Extension::TYPE_EXTENSION));
20 EXPECT_EQ(1u, 21 EXPECT_EQ(1u,
21 feature->extension_types()->count(Extension::TYPE_LEGACY_PACKAGED_APP)); 22 feature->extension_types()->count(Extension::TYPE_LEGACY_PACKAGED_APP));
22 EXPECT_EQ(1u, 23 EXPECT_EQ(1u,
23 feature->extension_types()->count(Extension::TYPE_PLATFORM_APP)); 24 feature->extension_types()->count(Extension::TYPE_PLATFORM_APP));
24 EXPECT_EQ(1u, feature->extension_types()->count(Extension::TYPE_HOSTED_APP)); 25 EXPECT_EQ(1u, feature->extension_types()->count(Extension::TYPE_HOSTED_APP));
25 EXPECT_EQ(1u, feature->extension_types()->count(Extension::TYPE_THEME)); 26 EXPECT_EQ(1u, feature->extension_types()->count(Extension::TYPE_THEME));
26 27
(...skipping 18 matching lines...) Expand all
45 46
46 feature = provider->GetFeature("devtools_page"); 47 feature = provider->GetFeature("devtools_page");
47 ASSERT_TRUE(feature); 48 ASSERT_TRUE(feature);
48 EXPECT_EQ(Feature::NOT_PRESENT, feature->IsAvailableToContext( 49 EXPECT_EQ(Feature::NOT_PRESENT, feature->IsAvailableToContext(
49 extension.get(), Feature::UNSPECIFIED_CONTEXT).result()); 50 extension.get(), Feature::UNSPECIFIED_CONTEXT).result());
50 } 51 }
51 52
52 TEST(SimpleFeatureProvider, PermissionFeatures) { 53 TEST(SimpleFeatureProvider, PermissionFeatures) {
53 SimpleFeatureProvider* provider = 54 SimpleFeatureProvider* provider =
54 SimpleFeatureProvider::GetPermissionFeatures(); 55 SimpleFeatureProvider::GetPermissionFeatures();
55 Feature* feature = provider->GetFeature("contextMenus"); 56 SimpleFeature* feature = provider->GetFeature("contextMenus");
56 ASSERT_TRUE(feature); 57 ASSERT_TRUE(feature);
57 EXPECT_EQ(3u, feature->extension_types()->size()); 58 EXPECT_EQ(3u, feature->extension_types()->size());
58 EXPECT_EQ(1u, feature->extension_types()->count(Extension::TYPE_EXTENSION)); 59 EXPECT_EQ(1u, feature->extension_types()->count(Extension::TYPE_EXTENSION));
59 EXPECT_EQ(1u, 60 EXPECT_EQ(1u,
60 feature->extension_types()->count(Extension::TYPE_LEGACY_PACKAGED_APP)); 61 feature->extension_types()->count(Extension::TYPE_LEGACY_PACKAGED_APP));
61 EXPECT_EQ(1u, 62 EXPECT_EQ(1u,
62 feature->extension_types()->count(Extension::TYPE_PLATFORM_APP)); 63 feature->extension_types()->count(Extension::TYPE_PLATFORM_APP));
63 64
64 DictionaryValue manifest; 65 DictionaryValue manifest;
65 manifest.SetString("name", "test extension"); 66 manifest.SetString("name", "test extension");
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
115 EXPECT_TRUE(provider->GetFeature("feature1")); 116 EXPECT_TRUE(provider->GetFeature("feature1"));
116 117
117 // feature2 won't validate because of the presence of "contexts". 118 // feature2 won't validate because of the presence of "contexts".
118 EXPECT_FALSE(provider->GetFeature("feature2")); 119 EXPECT_FALSE(provider->GetFeature("feature2"));
119 120
120 // If we remove it, it works. 121 // If we remove it, it works.
121 feature2->Remove("contexts", NULL); 122 feature2->Remove("contexts", NULL);
122 provider.reset(new SimpleFeatureProvider(value.get(), NULL)); 123 provider.reset(new SimpleFeatureProvider(value.get(), NULL));
123 EXPECT_TRUE(provider->GetFeature("feature2")); 124 EXPECT_TRUE(provider->GetFeature("feature2"));
124 } 125 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698