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

Side by Side 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chrome/common/extensions/feature.cc ('k') | chrome/common/extensions/manifest.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/feature.h" 5 #include "chrome/common/extensions/feature.h"
6 6
7 #include "testing/gtest/include/gtest/gtest.h" 7 #include "testing/gtest/include/gtest/gtest.h"
8 8
9 using extensions::Feature; 9 using extensions::Feature;
10 10
11 namespace { 11 namespace {
12 12
13 struct IsAvailableTestData { 13 struct IsAvailableTestData {
14 std::string extension_id; 14 std::string extension_id;
15 Extension::Type extension_type; 15 Extension::Type extension_type;
16 Feature::Context context; 16 Feature::Context context;
17 Feature::Location location; 17 Feature::Location location;
18 Feature::Platform platform; 18 Feature::Platform platform;
19 int manifest_version; 19 int manifest_version;
20 bool expected_result; 20 Feature::Availability expected_result;
21 }; 21 };
22 22
23 } // namespace 23 } // namespace
24 24
25 TEST(ExtensionFeatureTest, IsAvailableNullCase) { 25 TEST(ExtensionFeatureTest, IsAvailableNullCase) {
26 const IsAvailableTestData tests[] = { 26 const IsAvailableTestData tests[] = {
27 { "", Extension::TYPE_UNKNOWN, Feature::UNSPECIFIED_CONTEXT, 27 { "", Extension::TYPE_UNKNOWN, Feature::UNSPECIFIED_CONTEXT,
28 Feature::UNSPECIFIED_LOCATION, Feature::UNSPECIFIED_PLATFORM, -1, true }, 28 Feature::UNSPECIFIED_LOCATION, Feature::UNSPECIFIED_PLATFORM, -1,
29 Feature::IS_AVAILABLE },
29 { "random-extension", Extension::TYPE_UNKNOWN, Feature::UNSPECIFIED_CONTEXT, 30 { "random-extension", Extension::TYPE_UNKNOWN, Feature::UNSPECIFIED_CONTEXT,
30 Feature::UNSPECIFIED_LOCATION, Feature::UNSPECIFIED_PLATFORM, -1, true }, 31 Feature::UNSPECIFIED_LOCATION, Feature::UNSPECIFIED_PLATFORM, -1,
32 Feature::IS_AVAILABLE },
31 { "", Extension::TYPE_PACKAGED_APP, Feature::UNSPECIFIED_CONTEXT, 33 { "", Extension::TYPE_PACKAGED_APP, Feature::UNSPECIFIED_CONTEXT,
32 Feature::UNSPECIFIED_LOCATION, Feature::UNSPECIFIED_PLATFORM, -1, true }, 34 Feature::UNSPECIFIED_LOCATION, Feature::UNSPECIFIED_PLATFORM, -1,
35 Feature::IS_AVAILABLE },
33 { "", Extension::TYPE_UNKNOWN, Feature::PRIVILEGED_CONTEXT, 36 { "", Extension::TYPE_UNKNOWN, Feature::PRIVILEGED_CONTEXT,
34 Feature::UNSPECIFIED_LOCATION, Feature::UNSPECIFIED_PLATFORM, -1, true }, 37 Feature::UNSPECIFIED_LOCATION, Feature::UNSPECIFIED_PLATFORM, -1,
38 Feature::IS_AVAILABLE },
35 { "", Extension::TYPE_UNKNOWN, Feature::UNSPECIFIED_CONTEXT, 39 { "", Extension::TYPE_UNKNOWN, Feature::UNSPECIFIED_CONTEXT,
36 Feature::COMPONENT_LOCATION, Feature::UNSPECIFIED_PLATFORM, -1, true }, 40 Feature::COMPONENT_LOCATION, Feature::UNSPECIFIED_PLATFORM, -1,
41 Feature::IS_AVAILABLE },
37 { "", Extension::TYPE_UNKNOWN, Feature::UNSPECIFIED_CONTEXT, 42 { "", Extension::TYPE_UNKNOWN, Feature::UNSPECIFIED_CONTEXT,
38 Feature::UNSPECIFIED_LOCATION, Feature::CHROMEOS_PLATFORM, -1, true }, 43 Feature::UNSPECIFIED_LOCATION, Feature::CHROMEOS_PLATFORM, -1,
44 Feature::IS_AVAILABLE },
39 { "", Extension::TYPE_UNKNOWN, Feature::UNSPECIFIED_CONTEXT, 45 { "", Extension::TYPE_UNKNOWN, Feature::UNSPECIFIED_CONTEXT,
40 Feature::UNSPECIFIED_LOCATION, Feature::UNSPECIFIED_PLATFORM, 25, true } 46 Feature::UNSPECIFIED_LOCATION, Feature::UNSPECIFIED_PLATFORM, 25,
47 Feature::IS_AVAILABLE }
41 }; 48 };
42 49
43 Feature feature; 50 Feature feature;
44 for (size_t i = 0; i < arraysize(tests); ++i) { 51 for (size_t i = 0; i < arraysize(tests); ++i) {
45 const IsAvailableTestData& test = tests[i]; 52 const IsAvailableTestData& test = tests[i];
46 EXPECT_EQ(test.expected_result, 53 EXPECT_EQ(test.expected_result,
47 feature.IsAvailable(test.extension_id, test.extension_type, 54 feature.IsAvailable(test.extension_id, test.extension_type,
48 test.location, test.context, test.platform, 55 test.location, test.context, test.platform,
49 test.manifest_version)); 56 test.manifest_version));
50 } 57 }
51 } 58 }
52 59
53 TEST(ExtensionFeatureTest, Whitelist) { 60 TEST(ExtensionFeatureTest, Whitelist) {
54 Feature feature; 61 Feature feature;
55 feature.whitelist()->insert("foo"); 62 feature.whitelist()->insert("foo");
56 feature.whitelist()->insert("bar"); 63 feature.whitelist()->insert("bar");
57 64
58 EXPECT_TRUE(feature.IsAvailable( 65 EXPECT_EQ(Feature::IS_AVAILABLE, feature.IsAvailable(
59 "foo", Extension::TYPE_UNKNOWN, Feature::UNSPECIFIED_LOCATION, 66 "foo", Extension::TYPE_UNKNOWN, Feature::UNSPECIFIED_LOCATION,
60 Feature::UNSPECIFIED_CONTEXT, Feature::UNSPECIFIED_PLATFORM, -1)); 67 Feature::UNSPECIFIED_CONTEXT, Feature::UNSPECIFIED_PLATFORM, -1));
61 EXPECT_TRUE(feature.IsAvailable( 68 EXPECT_EQ(Feature::IS_AVAILABLE, feature.IsAvailable(
62 "bar", Extension::TYPE_UNKNOWN, Feature::UNSPECIFIED_LOCATION, 69 "bar", Extension::TYPE_UNKNOWN, Feature::UNSPECIFIED_LOCATION,
63 Feature::UNSPECIFIED_CONTEXT, Feature::UNSPECIFIED_PLATFORM, -1)); 70 Feature::UNSPECIFIED_CONTEXT, Feature::UNSPECIFIED_PLATFORM, -1));
64 71
65 EXPECT_FALSE(feature.IsAvailable( 72 EXPECT_EQ(Feature::NOT_FOUND_IN_WHITELIST, feature.IsAvailable(
66 "baz", Extension::TYPE_UNKNOWN, Feature::UNSPECIFIED_LOCATION, 73 "baz", Extension::TYPE_UNKNOWN, Feature::UNSPECIFIED_LOCATION,
67 Feature::UNSPECIFIED_CONTEXT, Feature::UNSPECIFIED_PLATFORM, -1)); 74 Feature::UNSPECIFIED_CONTEXT, Feature::UNSPECIFIED_PLATFORM, -1));
68 EXPECT_FALSE(feature.IsAvailable( 75 EXPECT_EQ(Feature::NOT_FOUND_IN_WHITELIST, feature.IsAvailable(
69 "", Extension::TYPE_UNKNOWN, Feature::UNSPECIFIED_LOCATION, 76 "", Extension::TYPE_UNKNOWN, Feature::UNSPECIFIED_LOCATION,
70 Feature::UNSPECIFIED_CONTEXT, Feature::UNSPECIFIED_PLATFORM, -1)); 77 Feature::UNSPECIFIED_CONTEXT, Feature::UNSPECIFIED_PLATFORM, -1));
71 78
72 feature.extension_types()->insert(Extension::TYPE_PACKAGED_APP); 79 feature.extension_types()->insert(Extension::TYPE_PACKAGED_APP);
73 EXPECT_FALSE(feature.IsAvailable( 80 EXPECT_EQ(Feature::NOT_FOUND_IN_WHITELIST, feature.IsAvailable(
74 "baz", Extension::TYPE_PACKAGED_APP, Feature::UNSPECIFIED_LOCATION, 81 "baz", Extension::TYPE_PACKAGED_APP, Feature::UNSPECIFIED_LOCATION,
75 Feature::UNSPECIFIED_CONTEXT, Feature::UNSPECIFIED_PLATFORM, -1)); 82 Feature::UNSPECIFIED_CONTEXT, Feature::UNSPECIFIED_PLATFORM, -1));
76 } 83 }
77 84
78 TEST(ExtensionFeatureTest, PackageType) { 85 TEST(ExtensionFeatureTest, PackageType) {
79 Feature feature; 86 Feature feature;
80 feature.extension_types()->insert(Extension::TYPE_EXTENSION); 87 feature.extension_types()->insert(Extension::TYPE_EXTENSION);
81 feature.extension_types()->insert(Extension::TYPE_PACKAGED_APP); 88 feature.extension_types()->insert(Extension::TYPE_PACKAGED_APP);
82 89
83 EXPECT_TRUE(feature.IsAvailable( 90 EXPECT_EQ(Feature::IS_AVAILABLE, feature.IsAvailable(
84 "", Extension::TYPE_EXTENSION, Feature::UNSPECIFIED_LOCATION, 91 "", Extension::TYPE_EXTENSION, Feature::UNSPECIFIED_LOCATION,
85 Feature::UNSPECIFIED_CONTEXT, Feature::UNSPECIFIED_PLATFORM, -1)); 92 Feature::UNSPECIFIED_CONTEXT, Feature::UNSPECIFIED_PLATFORM, -1));
86 EXPECT_TRUE(feature.IsAvailable( 93 EXPECT_EQ(Feature::IS_AVAILABLE, feature.IsAvailable(
87 "", Extension::TYPE_PACKAGED_APP, Feature::UNSPECIFIED_LOCATION, 94 "", Extension::TYPE_PACKAGED_APP, Feature::UNSPECIFIED_LOCATION,
88 Feature::UNSPECIFIED_CONTEXT, Feature::UNSPECIFIED_PLATFORM, -1)); 95 Feature::UNSPECIFIED_CONTEXT, Feature::UNSPECIFIED_PLATFORM, -1));
89 96
90 EXPECT_FALSE(feature.IsAvailable( 97 EXPECT_EQ(Feature::INVALID_TYPE, feature.IsAvailable(
91 "", Extension::TYPE_UNKNOWN, Feature::UNSPECIFIED_LOCATION, 98 "", Extension::TYPE_UNKNOWN, Feature::UNSPECIFIED_LOCATION,
92 Feature::UNSPECIFIED_CONTEXT, Feature::UNSPECIFIED_PLATFORM, -1)); 99 Feature::UNSPECIFIED_CONTEXT, Feature::UNSPECIFIED_PLATFORM, -1));
93 EXPECT_FALSE(feature.IsAvailable( 100 EXPECT_EQ(Feature::INVALID_TYPE, feature.IsAvailable(
94 "", Extension::TYPE_THEME, Feature::UNSPECIFIED_LOCATION, 101 "", Extension::TYPE_THEME, Feature::UNSPECIFIED_LOCATION,
95 Feature::UNSPECIFIED_CONTEXT, Feature::UNSPECIFIED_PLATFORM, -1)); 102 Feature::UNSPECIFIED_CONTEXT, Feature::UNSPECIFIED_PLATFORM, -1));
96 } 103 }
97 104
98 TEST(ExtensionFeatureTest, Context) { 105 TEST(ExtensionFeatureTest, Context) {
99 Feature feature; 106 Feature feature;
100 feature.contexts()->insert(Feature::PRIVILEGED_CONTEXT); 107 feature.contexts()->insert(Feature::PRIVILEGED_CONTEXT);
101 feature.contexts()->insert(Feature::CONTENT_SCRIPT_CONTEXT); 108 feature.contexts()->insert(Feature::CONTENT_SCRIPT_CONTEXT);
102 109
103 EXPECT_TRUE(feature.IsAvailable( 110 EXPECT_EQ(Feature::IS_AVAILABLE, feature.IsAvailable(
104 "", Extension::TYPE_UNKNOWN, Feature::UNSPECIFIED_LOCATION, 111 "", Extension::TYPE_UNKNOWN, Feature::UNSPECIFIED_LOCATION,
105 Feature::PRIVILEGED_CONTEXT, Feature::UNSPECIFIED_PLATFORM, -1)); 112 Feature::PRIVILEGED_CONTEXT, Feature::UNSPECIFIED_PLATFORM, -1));
106 EXPECT_TRUE(feature.IsAvailable( 113 EXPECT_EQ(Feature::IS_AVAILABLE, feature.IsAvailable(
107 "", Extension::TYPE_UNKNOWN, Feature::UNSPECIFIED_LOCATION, 114 "", Extension::TYPE_UNKNOWN, Feature::UNSPECIFIED_LOCATION,
108 Feature::CONTENT_SCRIPT_CONTEXT, Feature::UNSPECIFIED_PLATFORM, -1)); 115 Feature::CONTENT_SCRIPT_CONTEXT, Feature::UNSPECIFIED_PLATFORM, -1));
109 116
110 EXPECT_FALSE(feature.IsAvailable( 117 EXPECT_EQ(Feature::INVALID_CONTEXT, feature.IsAvailable(
111 "", Extension::TYPE_UNKNOWN, Feature::UNSPECIFIED_LOCATION, 118 "", Extension::TYPE_UNKNOWN, Feature::UNSPECIFIED_LOCATION,
112 Feature::UNPRIVILEGED_CONTEXT, Feature::UNSPECIFIED_PLATFORM, -1)); 119 Feature::UNPRIVILEGED_CONTEXT, Feature::UNSPECIFIED_PLATFORM, -1));
113 EXPECT_FALSE(feature.IsAvailable( 120 EXPECT_EQ(Feature::INVALID_CONTEXT, feature.IsAvailable(
114 "", Extension::TYPE_UNKNOWN, Feature::UNSPECIFIED_LOCATION, 121 "", Extension::TYPE_UNKNOWN, Feature::UNSPECIFIED_LOCATION,
115 Feature::UNSPECIFIED_CONTEXT, Feature::UNSPECIFIED_PLATFORM, -1)); 122 Feature::UNSPECIFIED_CONTEXT, Feature::UNSPECIFIED_PLATFORM, -1));
116 } 123 }
117 124
118 TEST(ExtensionFeatureTest, Location) { 125 TEST(ExtensionFeatureTest, Location) {
119 Feature feature; 126 Feature feature;
120 feature.set_location(Feature::COMPONENT_LOCATION); 127 feature.set_location(Feature::COMPONENT_LOCATION);
121 EXPECT_TRUE(feature.IsAvailable( 128 EXPECT_EQ(Feature::IS_AVAILABLE, feature.IsAvailable(
122 "", Extension::TYPE_UNKNOWN, Feature::COMPONENT_LOCATION, 129 "", Extension::TYPE_UNKNOWN, Feature::COMPONENT_LOCATION,
123 Feature::UNSPECIFIED_CONTEXT, Feature::UNSPECIFIED_PLATFORM, -1)); 130 Feature::UNSPECIFIED_CONTEXT, Feature::UNSPECIFIED_PLATFORM, -1));
124 EXPECT_FALSE(feature.IsAvailable( 131 EXPECT_EQ(Feature::INVALID_LOCATION, feature.IsAvailable(
125 "", Extension::TYPE_UNKNOWN, Feature::UNSPECIFIED_LOCATION, 132 "", Extension::TYPE_UNKNOWN, Feature::UNSPECIFIED_LOCATION,
126 Feature::UNSPECIFIED_CONTEXT, Feature::UNSPECIFIED_PLATFORM, -1)); 133 Feature::UNSPECIFIED_CONTEXT, Feature::UNSPECIFIED_PLATFORM, -1));
127 } 134 }
128 135
129 TEST(ExtensionFeatureTest, Platform) { 136 TEST(ExtensionFeatureTest, Platform) {
130 Feature feature; 137 Feature feature;
131 feature.set_platform(Feature::CHROMEOS_PLATFORM); 138 feature.set_platform(Feature::CHROMEOS_PLATFORM);
132 EXPECT_TRUE(feature.IsAvailable( 139 EXPECT_EQ(Feature::IS_AVAILABLE, feature.IsAvailable(
133 "", Extension::TYPE_UNKNOWN, Feature::UNSPECIFIED_LOCATION, 140 "", Extension::TYPE_UNKNOWN, Feature::UNSPECIFIED_LOCATION,
134 Feature::UNSPECIFIED_CONTEXT, Feature::CHROMEOS_PLATFORM, -1)); 141 Feature::UNSPECIFIED_CONTEXT, Feature::CHROMEOS_PLATFORM, -1));
135 EXPECT_FALSE(feature.IsAvailable( 142 EXPECT_EQ(Feature::INVALID_PLATFORM, feature.IsAvailable(
136 "", Extension::TYPE_UNKNOWN, Feature::UNSPECIFIED_LOCATION, 143 "", Extension::TYPE_UNKNOWN, Feature::UNSPECIFIED_LOCATION,
137 Feature::UNSPECIFIED_CONTEXT, Feature::UNSPECIFIED_PLATFORM, -1)); 144 Feature::UNSPECIFIED_CONTEXT, Feature::UNSPECIFIED_PLATFORM, -1));
138 } 145 }
139 146
140 TEST(ExtensionFeatureTest, Version) { 147 TEST(ExtensionFeatureTest, Version) {
141 Feature feature; 148 Feature feature;
142 feature.set_min_manifest_version(5); 149 feature.set_min_manifest_version(5);
143 150
144 EXPECT_FALSE(feature.IsAvailable( 151 EXPECT_EQ(Feature::INVALID_MIN_MANIFEST_VERSION, feature.IsAvailable(
145 "", Extension::TYPE_UNKNOWN, Feature::UNSPECIFIED_LOCATION, 152 "", Extension::TYPE_UNKNOWN, Feature::UNSPECIFIED_LOCATION,
146 Feature::UNSPECIFIED_CONTEXT, Feature::UNSPECIFIED_PLATFORM, 0)); 153 Feature::UNSPECIFIED_CONTEXT, Feature::UNSPECIFIED_PLATFORM, 0));
147 EXPECT_FALSE(feature.IsAvailable( 154 EXPECT_EQ(Feature::INVALID_MIN_MANIFEST_VERSION, feature.IsAvailable(
148 "", Extension::TYPE_UNKNOWN, Feature::UNSPECIFIED_LOCATION, 155 "", Extension::TYPE_UNKNOWN, Feature::UNSPECIFIED_LOCATION,
149 Feature::UNSPECIFIED_CONTEXT, Feature::UNSPECIFIED_PLATFORM, 4)); 156 Feature::UNSPECIFIED_CONTEXT, Feature::UNSPECIFIED_PLATFORM, 4));
150 157
151 EXPECT_TRUE(feature.IsAvailable( 158 EXPECT_EQ(Feature::IS_AVAILABLE, feature.IsAvailable(
152 "", Extension::TYPE_UNKNOWN, Feature::UNSPECIFIED_LOCATION, 159 "", Extension::TYPE_UNKNOWN, Feature::UNSPECIFIED_LOCATION,
153 Feature::UNSPECIFIED_CONTEXT, Feature::UNSPECIFIED_PLATFORM, 5)); 160 Feature::UNSPECIFIED_CONTEXT, Feature::UNSPECIFIED_PLATFORM, 5));
154 EXPECT_TRUE(feature.IsAvailable( 161 EXPECT_EQ(Feature::IS_AVAILABLE, feature.IsAvailable(
155 "", Extension::TYPE_UNKNOWN, Feature::UNSPECIFIED_LOCATION, 162 "", Extension::TYPE_UNKNOWN, Feature::UNSPECIFIED_LOCATION,
156 Feature::UNSPECIFIED_CONTEXT, Feature::UNSPECIFIED_PLATFORM, 10)); 163 Feature::UNSPECIFIED_CONTEXT, Feature::UNSPECIFIED_PLATFORM, 10));
157 164
158 feature.set_max_manifest_version(8); 165 feature.set_max_manifest_version(8);
159 166
160 EXPECT_FALSE(feature.IsAvailable( 167 EXPECT_EQ(Feature::INVALID_MAX_MANIFEST_VERSION, feature.IsAvailable(
161 "", Extension::TYPE_UNKNOWN, Feature::UNSPECIFIED_LOCATION, 168 "", Extension::TYPE_UNKNOWN, Feature::UNSPECIFIED_LOCATION,
162 Feature::UNSPECIFIED_CONTEXT, Feature::UNSPECIFIED_PLATFORM, 10)); 169 Feature::UNSPECIFIED_CONTEXT, Feature::UNSPECIFIED_PLATFORM, 10));
163 EXPECT_TRUE(feature.IsAvailable( 170 EXPECT_EQ(Feature::IS_AVAILABLE, feature.IsAvailable(
164 "", Extension::TYPE_UNKNOWN, Feature::UNSPECIFIED_LOCATION, 171 "", Extension::TYPE_UNKNOWN, Feature::UNSPECIFIED_LOCATION,
165 Feature::UNSPECIFIED_CONTEXT, Feature::UNSPECIFIED_PLATFORM, 8)); 172 Feature::UNSPECIFIED_CONTEXT, Feature::UNSPECIFIED_PLATFORM, 8));
166 EXPECT_TRUE(feature.IsAvailable( 173 EXPECT_EQ(Feature::IS_AVAILABLE, feature.IsAvailable(
167 "", Extension::TYPE_UNKNOWN, Feature::UNSPECIFIED_LOCATION, 174 "", Extension::TYPE_UNKNOWN, Feature::UNSPECIFIED_LOCATION,
168 Feature::UNSPECIFIED_CONTEXT, Feature::UNSPECIFIED_PLATFORM, 7)); 175 Feature::UNSPECIFIED_CONTEXT, Feature::UNSPECIFIED_PLATFORM, 7));
169 } 176 }
170 177
171 TEST(ExtensionFeatureTest, ParseNull) { 178 TEST(ExtensionFeatureTest, ParseNull) {
172 scoped_ptr<DictionaryValue> value(new DictionaryValue()); 179 scoped_ptr<DictionaryValue> value(new DictionaryValue());
173 scoped_ptr<Feature> feature(Feature::Parse(value.get())); 180 scoped_ptr<Feature> feature(Feature::Parse(value.get()));
174 EXPECT_TRUE(feature->whitelist()->empty()); 181 EXPECT_TRUE(feature->whitelist()->empty());
175 EXPECT_TRUE(feature->extension_types()->empty()); 182 EXPECT_TRUE(feature->extension_types()->empty());
176 EXPECT_TRUE(feature->contexts()->empty()); 183 EXPECT_TRUE(feature->contexts()->empty());
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
247 } 254 }
248 255
249 TEST(ExtensionFeatureTest, ManifestVersion) { 256 TEST(ExtensionFeatureTest, ManifestVersion) {
250 scoped_ptr<DictionaryValue> value(new DictionaryValue()); 257 scoped_ptr<DictionaryValue> value(new DictionaryValue());
251 value->SetInteger("min_manifest_version", 1); 258 value->SetInteger("min_manifest_version", 1);
252 value->SetInteger("max_manifest_version", 5); 259 value->SetInteger("max_manifest_version", 5);
253 scoped_ptr<Feature> feature(Feature::Parse(value.get())); 260 scoped_ptr<Feature> feature(Feature::Parse(value.get()));
254 EXPECT_EQ(1, feature->min_manifest_version()); 261 EXPECT_EQ(1, feature->min_manifest_version());
255 EXPECT_EQ(5, feature->max_manifest_version()); 262 EXPECT_EQ(5, feature->max_manifest_version());
256 } 263 }
OLDNEW
« 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