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

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

Issue 13145003: Rewrite std::string("") to std::string(), Linux edition. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Ugh Created 7 years, 8 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
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.h" 5 #include "chrome/common/extensions/features/simple_feature.h"
6 6
7 #include "chrome/common/extensions/value_builder.h" 7 #include "chrome/common/extensions/value_builder.h"
8 #include "testing/gtest/include/gtest/gtest.h" 8 #include "testing/gtest/include/gtest/gtest.h"
9 9
10 using chrome::VersionInfo; 10 using chrome::VersionInfo;
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
84 EXPECT_EQ(Feature::IS_AVAILABLE, feature.IsAvailableToManifest( 84 EXPECT_EQ(Feature::IS_AVAILABLE, feature.IsAvailableToManifest(
85 kIdFoo, Manifest::TYPE_UNKNOWN, Feature::UNSPECIFIED_LOCATION, -1, 85 kIdFoo, Manifest::TYPE_UNKNOWN, Feature::UNSPECIFIED_LOCATION, -1,
86 Feature::UNSPECIFIED_PLATFORM).result()); 86 Feature::UNSPECIFIED_PLATFORM).result());
87 EXPECT_EQ(Feature::IS_AVAILABLE, feature.IsAvailableToManifest( 87 EXPECT_EQ(Feature::IS_AVAILABLE, feature.IsAvailableToManifest(
88 kIdBar, Manifest::TYPE_UNKNOWN, Feature::UNSPECIFIED_LOCATION, -1, 88 kIdBar, Manifest::TYPE_UNKNOWN, Feature::UNSPECIFIED_LOCATION, -1,
89 Feature::UNSPECIFIED_PLATFORM).result()); 89 Feature::UNSPECIFIED_PLATFORM).result());
90 90
91 EXPECT_EQ(Feature::NOT_FOUND_IN_WHITELIST, feature.IsAvailableToManifest( 91 EXPECT_EQ(Feature::NOT_FOUND_IN_WHITELIST, feature.IsAvailableToManifest(
92 kIdBaz, Manifest::TYPE_UNKNOWN, Feature::UNSPECIFIED_LOCATION, -1, 92 kIdBaz, Manifest::TYPE_UNKNOWN, Feature::UNSPECIFIED_LOCATION, -1,
93 Feature::UNSPECIFIED_PLATFORM).result()); 93 Feature::UNSPECIFIED_PLATFORM).result());
94 EXPECT_EQ(Feature::NOT_FOUND_IN_WHITELIST, feature.IsAvailableToManifest( 94 EXPECT_EQ(
95 "", Manifest::TYPE_UNKNOWN, Feature::UNSPECIFIED_LOCATION, -1, 95 Feature::NOT_FOUND_IN_WHITELIST,
96 Feature::UNSPECIFIED_PLATFORM).result()); 96 feature.IsAvailableToManifest(std::string(),
97 Manifest::TYPE_UNKNOWN,
98 Feature::UNSPECIFIED_LOCATION,
99 -1,
100 Feature::UNSPECIFIED_PLATFORM).result());
97 101
98 feature.extension_types()->insert(Manifest::TYPE_LEGACY_PACKAGED_APP); 102 feature.extension_types()->insert(Manifest::TYPE_LEGACY_PACKAGED_APP);
99 EXPECT_EQ(Feature::NOT_FOUND_IN_WHITELIST, feature.IsAvailableToManifest( 103 EXPECT_EQ(Feature::NOT_FOUND_IN_WHITELIST, feature.IsAvailableToManifest(
100 kIdBaz, Manifest::TYPE_LEGACY_PACKAGED_APP, 104 kIdBaz, Manifest::TYPE_LEGACY_PACKAGED_APP,
101 Feature::UNSPECIFIED_LOCATION, -1, 105 Feature::UNSPECIFIED_LOCATION, -1,
102 Feature::UNSPECIFIED_PLATFORM).result()); 106 Feature::UNSPECIFIED_PLATFORM).result());
103 } 107 }
104 108
105 TEST_F(ExtensionSimpleFeatureTest, HashedIdWhitelist) { 109 TEST_F(ExtensionSimpleFeatureTest, HashedIdWhitelist) {
106 // echo -n "fooabbbbccccddddeeeeffffgggghhhh" | 110 // echo -n "fooabbbbccccddddeeeeffffgggghhhh" |
(...skipping 19 matching lines...) Expand all
126 "tooshortforanextensionid", Manifest::TYPE_UNKNOWN, 130 "tooshortforanextensionid", Manifest::TYPE_UNKNOWN,
127 Feature::UNSPECIFIED_LOCATION, -1, 131 Feature::UNSPECIFIED_LOCATION, -1,
128 Feature::UNSPECIFIED_PLATFORM).result()); 132 Feature::UNSPECIFIED_PLATFORM).result());
129 } 133 }
130 134
131 TEST_F(ExtensionSimpleFeatureTest, PackageType) { 135 TEST_F(ExtensionSimpleFeatureTest, PackageType) {
132 SimpleFeature feature; 136 SimpleFeature feature;
133 feature.extension_types()->insert(Manifest::TYPE_EXTENSION); 137 feature.extension_types()->insert(Manifest::TYPE_EXTENSION);
134 feature.extension_types()->insert(Manifest::TYPE_LEGACY_PACKAGED_APP); 138 feature.extension_types()->insert(Manifest::TYPE_LEGACY_PACKAGED_APP);
135 139
136 EXPECT_EQ(Feature::IS_AVAILABLE, feature.IsAvailableToManifest( 140 EXPECT_EQ(
137 "", Manifest::TYPE_EXTENSION, Feature::UNSPECIFIED_LOCATION, -1, 141 Feature::IS_AVAILABLE,
138 Feature::UNSPECIFIED_PLATFORM).result()); 142 feature.IsAvailableToManifest(std::string(),
139 EXPECT_EQ(Feature::IS_AVAILABLE, feature.IsAvailableToManifest( 143 Manifest::TYPE_EXTENSION,
140 "", Manifest::TYPE_LEGACY_PACKAGED_APP, Feature::UNSPECIFIED_LOCATION, 144 Feature::UNSPECIFIED_LOCATION,
141 -1, Feature::UNSPECIFIED_PLATFORM).result()); 145 -1,
146 Feature::UNSPECIFIED_PLATFORM).result());
147 EXPECT_EQ(
148 Feature::IS_AVAILABLE,
149 feature.IsAvailableToManifest(std::string(),
150 Manifest::TYPE_LEGACY_PACKAGED_APP,
151 Feature::UNSPECIFIED_LOCATION,
152 -1,
153 Feature::UNSPECIFIED_PLATFORM).result());
142 154
143 EXPECT_EQ(Feature::INVALID_TYPE, feature.IsAvailableToManifest( 155 EXPECT_EQ(
144 "", Manifest::TYPE_UNKNOWN, Feature::UNSPECIFIED_LOCATION, -1, 156 Feature::INVALID_TYPE,
145 Feature::UNSPECIFIED_PLATFORM).result()); 157 feature.IsAvailableToManifest(std::string(),
146 EXPECT_EQ(Feature::INVALID_TYPE, feature.IsAvailableToManifest( 158 Manifest::TYPE_UNKNOWN,
147 "", Manifest::TYPE_THEME, Feature::UNSPECIFIED_LOCATION, -1, 159 Feature::UNSPECIFIED_LOCATION,
148 Feature::UNSPECIFIED_PLATFORM).result()); 160 -1,
161 Feature::UNSPECIFIED_PLATFORM).result());
162 EXPECT_EQ(
163 Feature::INVALID_TYPE,
164 feature.IsAvailableToManifest(std::string(),
165 Manifest::TYPE_THEME,
166 Feature::UNSPECIFIED_LOCATION,
167 -1,
168 Feature::UNSPECIFIED_PLATFORM).result());
149 } 169 }
150 170
151 TEST_F(ExtensionSimpleFeatureTest, Context) { 171 TEST_F(ExtensionSimpleFeatureTest, Context) {
152 SimpleFeature feature; 172 SimpleFeature feature;
153 feature.GetContexts()->insert(Feature::BLESSED_EXTENSION_CONTEXT); 173 feature.GetContexts()->insert(Feature::BLESSED_EXTENSION_CONTEXT);
154 feature.extension_types()->insert(Manifest::TYPE_LEGACY_PACKAGED_APP); 174 feature.extension_types()->insert(Manifest::TYPE_LEGACY_PACKAGED_APP);
155 feature.set_platform(Feature::CHROMEOS_PLATFORM); 175 feature.set_platform(Feature::CHROMEOS_PLATFORM);
156 feature.set_min_manifest_version(21); 176 feature.set_min_manifest_version(21);
157 feature.set_max_manifest_version(25); 177 feature.set_max_manifest_version(25);
158 178
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
213 Feature::CHROMEOS_PLATFORM).result()); 233 Feature::CHROMEOS_PLATFORM).result());
214 feature.set_max_manifest_version(25); 234 feature.set_max_manifest_version(25);
215 } 235 }
216 236
217 TEST_F(ExtensionSimpleFeatureTest, Location) { 237 TEST_F(ExtensionSimpleFeatureTest, Location) {
218 SimpleFeature feature; 238 SimpleFeature feature;
219 239
220 // If the feature specifies "component" as its location, then only component 240 // If the feature specifies "component" as its location, then only component
221 // extensions can access it. 241 // extensions can access it.
222 feature.set_location(Feature::COMPONENT_LOCATION); 242 feature.set_location(Feature::COMPONENT_LOCATION);
223 EXPECT_EQ(Feature::IS_AVAILABLE, feature.IsAvailableToManifest( 243 EXPECT_EQ(
224 "", Manifest::TYPE_UNKNOWN, Feature::COMPONENT_LOCATION, -1, 244 Feature::IS_AVAILABLE,
225 Feature::UNSPECIFIED_PLATFORM).result()); 245 feature.IsAvailableToManifest(std::string(),
226 EXPECT_EQ(Feature::INVALID_LOCATION, feature.IsAvailableToManifest( 246 Manifest::TYPE_UNKNOWN,
227 "", Manifest::TYPE_UNKNOWN, Feature::UNSPECIFIED_LOCATION, -1, 247 Feature::COMPONENT_LOCATION,
228 Feature::UNSPECIFIED_PLATFORM).result()); 248 -1,
249 Feature::UNSPECIFIED_PLATFORM).result());
250 EXPECT_EQ(
251 Feature::INVALID_LOCATION,
252 feature.IsAvailableToManifest(std::string(),
253 Manifest::TYPE_UNKNOWN,
254 Feature::UNSPECIFIED_LOCATION,
255 -1,
256 Feature::UNSPECIFIED_PLATFORM).result());
229 257
230 // But component extensions can access anything else, whatever their location. 258 // But component extensions can access anything else, whatever their location.
231 feature.set_location(Feature::UNSPECIFIED_LOCATION); 259 feature.set_location(Feature::UNSPECIFIED_LOCATION);
232 EXPECT_EQ(Feature::IS_AVAILABLE, feature.IsAvailableToManifest( 260 EXPECT_EQ(
233 "", Manifest::TYPE_UNKNOWN, Feature::COMPONENT_LOCATION, -1, 261 Feature::IS_AVAILABLE,
234 Feature::UNSPECIFIED_PLATFORM).result()); 262 feature.IsAvailableToManifest(std::string(),
263 Manifest::TYPE_UNKNOWN,
264 Feature::COMPONENT_LOCATION,
265 -1,
266 Feature::UNSPECIFIED_PLATFORM).result());
235 } 267 }
236 268
237 TEST_F(ExtensionSimpleFeatureTest, Platform) { 269 TEST_F(ExtensionSimpleFeatureTest, Platform) {
238 SimpleFeature feature; 270 SimpleFeature feature;
239 feature.set_platform(Feature::CHROMEOS_PLATFORM); 271 feature.set_platform(Feature::CHROMEOS_PLATFORM);
240 EXPECT_EQ(Feature::IS_AVAILABLE, feature.IsAvailableToManifest( 272 EXPECT_EQ(Feature::IS_AVAILABLE,
241 "", Manifest::TYPE_UNKNOWN, Feature::UNSPECIFIED_LOCATION, -1, 273 feature.IsAvailableToManifest(std::string(),
242 Feature::CHROMEOS_PLATFORM).result()); 274 Manifest::TYPE_UNKNOWN,
243 EXPECT_EQ(Feature::INVALID_PLATFORM, feature.IsAvailableToManifest( 275 Feature::UNSPECIFIED_LOCATION,
244 "", Manifest::TYPE_UNKNOWN, Feature::UNSPECIFIED_LOCATION, -1, 276 -1,
245 Feature::UNSPECIFIED_PLATFORM).result()); 277 Feature::CHROMEOS_PLATFORM).result());
278 EXPECT_EQ(
279 Feature::INVALID_PLATFORM,
280 feature.IsAvailableToManifest(std::string(),
281 Manifest::TYPE_UNKNOWN,
282 Feature::UNSPECIFIED_LOCATION,
283 -1,
284 Feature::UNSPECIFIED_PLATFORM).result());
246 } 285 }
247 286
248 TEST_F(ExtensionSimpleFeatureTest, Version) { 287 TEST_F(ExtensionSimpleFeatureTest, Version) {
249 SimpleFeature feature; 288 SimpleFeature feature;
250 feature.set_min_manifest_version(5); 289 feature.set_min_manifest_version(5);
251 290
252 EXPECT_EQ(Feature::INVALID_MIN_MANIFEST_VERSION, 291 EXPECT_EQ(
253 feature.IsAvailableToManifest( 292 Feature::INVALID_MIN_MANIFEST_VERSION,
254 "", Manifest::TYPE_UNKNOWN, Feature::UNSPECIFIED_LOCATION, 293 feature.IsAvailableToManifest(std::string(),
255 0, Feature::UNSPECIFIED_PLATFORM).result()); 294 Manifest::TYPE_UNKNOWN,
256 EXPECT_EQ(Feature::INVALID_MIN_MANIFEST_VERSION, 295 Feature::UNSPECIFIED_LOCATION,
257 feature.IsAvailableToManifest( 296 0,
258 "", Manifest::TYPE_UNKNOWN, Feature::UNSPECIFIED_LOCATION, 297 Feature::UNSPECIFIED_PLATFORM).result());
259 4, Feature::UNSPECIFIED_PLATFORM).result()); 298 EXPECT_EQ(
299 Feature::INVALID_MIN_MANIFEST_VERSION,
300 feature.IsAvailableToManifest(std::string(),
301 Manifest::TYPE_UNKNOWN,
302 Feature::UNSPECIFIED_LOCATION,
303 4,
304 Feature::UNSPECIFIED_PLATFORM).result());
260 305
261 EXPECT_EQ(Feature::IS_AVAILABLE, feature.IsAvailableToManifest( 306 EXPECT_EQ(
262 "", Manifest::TYPE_UNKNOWN, Feature::UNSPECIFIED_LOCATION, 307 Feature::IS_AVAILABLE,
263 5, Feature::UNSPECIFIED_PLATFORM).result()); 308 feature.IsAvailableToManifest(std::string(),
264 EXPECT_EQ(Feature::IS_AVAILABLE, feature.IsAvailableToManifest( 309 Manifest::TYPE_UNKNOWN,
265 "", Manifest::TYPE_UNKNOWN, Feature::UNSPECIFIED_LOCATION, 310 Feature::UNSPECIFIED_LOCATION,
266 10, Feature::UNSPECIFIED_PLATFORM).result()); 311 5,
312 Feature::UNSPECIFIED_PLATFORM).result());
313 EXPECT_EQ(
314 Feature::IS_AVAILABLE,
315 feature.IsAvailableToManifest(std::string(),
316 Manifest::TYPE_UNKNOWN,
317 Feature::UNSPECIFIED_LOCATION,
318 10,
319 Feature::UNSPECIFIED_PLATFORM).result());
267 320
268 feature.set_max_manifest_version(8); 321 feature.set_max_manifest_version(8);
269 322
270 EXPECT_EQ(Feature::INVALID_MAX_MANIFEST_VERSION, 323 EXPECT_EQ(
271 feature.IsAvailableToManifest( 324 Feature::INVALID_MAX_MANIFEST_VERSION,
272 "", Manifest::TYPE_UNKNOWN, Feature::UNSPECIFIED_LOCATION, 325 feature.IsAvailableToManifest(std::string(),
273 10, Feature::UNSPECIFIED_PLATFORM).result()); 326 Manifest::TYPE_UNKNOWN,
274 EXPECT_EQ(Feature::IS_AVAILABLE, 327 Feature::UNSPECIFIED_LOCATION,
275 feature.IsAvailableToManifest( 328 10,
276 "", Manifest::TYPE_UNKNOWN, Feature::UNSPECIFIED_LOCATION, 329 Feature::UNSPECIFIED_PLATFORM).result());
277 8, Feature::UNSPECIFIED_PLATFORM).result()); 330 EXPECT_EQ(
278 EXPECT_EQ(Feature::IS_AVAILABLE, feature.IsAvailableToManifest( 331 Feature::IS_AVAILABLE,
279 "", Manifest::TYPE_UNKNOWN, Feature::UNSPECIFIED_LOCATION, 332 feature.IsAvailableToManifest(std::string(),
280 7, Feature::UNSPECIFIED_PLATFORM).result()); 333 Manifest::TYPE_UNKNOWN,
334 Feature::UNSPECIFIED_LOCATION,
335 8,
336 Feature::UNSPECIFIED_PLATFORM).result());
337 EXPECT_EQ(
338 Feature::IS_AVAILABLE,
339 feature.IsAvailableToManifest(std::string(),
340 Manifest::TYPE_UNKNOWN,
341 Feature::UNSPECIFIED_LOCATION,
342 7,
343 Feature::UNSPECIFIED_PLATFORM).result());
281 } 344 }
282 345
283 TEST_F(ExtensionSimpleFeatureTest, ParseNull) { 346 TEST_F(ExtensionSimpleFeatureTest, ParseNull) {
284 scoped_ptr<base::DictionaryValue> value(new base::DictionaryValue()); 347 scoped_ptr<base::DictionaryValue> value(new base::DictionaryValue());
285 scoped_ptr<SimpleFeature> feature(new SimpleFeature()); 348 scoped_ptr<SimpleFeature> feature(new SimpleFeature());
286 feature->Parse(value.get()); 349 feature->Parse(value.get());
287 EXPECT_TRUE(feature->whitelist()->empty()); 350 EXPECT_TRUE(feature->whitelist()->empty());
288 EXPECT_TRUE(feature->extension_types()->empty()); 351 EXPECT_TRUE(feature->extension_types()->empty());
289 EXPECT_TRUE(feature->GetContexts()->empty()); 352 EXPECT_TRUE(feature->GetContexts()->empty());
290 EXPECT_EQ(Feature::UNSPECIFIED_LOCATION, feature->location()); 353 EXPECT_EQ(Feature::UNSPECIFIED_LOCATION, feature->location());
(...skipping 251 matching lines...) Expand 10 before | Expand all | Expand 10 after
542 IsAvailableInChannel("trunk", VersionInfo::CHANNEL_CANARY)); 605 IsAvailableInChannel("trunk", VersionInfo::CHANNEL_CANARY));
543 EXPECT_EQ(Feature::UNSUPPORTED_CHANNEL, 606 EXPECT_EQ(Feature::UNSUPPORTED_CHANNEL,
544 IsAvailableInChannel("trunk", VersionInfo::CHANNEL_DEV)); 607 IsAvailableInChannel("trunk", VersionInfo::CHANNEL_DEV));
545 EXPECT_EQ(Feature::UNSUPPORTED_CHANNEL, 608 EXPECT_EQ(Feature::UNSUPPORTED_CHANNEL,
546 IsAvailableInChannel("trunk", VersionInfo::CHANNEL_BETA)); 609 IsAvailableInChannel("trunk", VersionInfo::CHANNEL_BETA));
547 EXPECT_EQ(Feature::UNSUPPORTED_CHANNEL, 610 EXPECT_EQ(Feature::UNSUPPORTED_CHANNEL,
548 IsAvailableInChannel("trunk", VersionInfo::CHANNEL_STABLE)); 611 IsAvailableInChannel("trunk", VersionInfo::CHANNEL_STABLE));
549 612
550 // Default supported channel (trunk). 613 // Default supported channel (trunk).
551 EXPECT_EQ(Feature::IS_AVAILABLE, 614 EXPECT_EQ(Feature::IS_AVAILABLE,
552 IsAvailableInChannel("", VersionInfo::CHANNEL_UNKNOWN)); 615 IsAvailableInChannel(std::string(), VersionInfo::CHANNEL_UNKNOWN));
553 EXPECT_EQ(Feature::UNSUPPORTED_CHANNEL, 616 EXPECT_EQ(Feature::UNSUPPORTED_CHANNEL,
554 IsAvailableInChannel("", VersionInfo::CHANNEL_CANARY)); 617 IsAvailableInChannel(std::string(), VersionInfo::CHANNEL_CANARY));
555 EXPECT_EQ(Feature::UNSUPPORTED_CHANNEL, 618 EXPECT_EQ(Feature::UNSUPPORTED_CHANNEL,
556 IsAvailableInChannel("", VersionInfo::CHANNEL_DEV)); 619 IsAvailableInChannel(std::string(), VersionInfo::CHANNEL_DEV));
557 EXPECT_EQ(Feature::UNSUPPORTED_CHANNEL, 620 EXPECT_EQ(Feature::UNSUPPORTED_CHANNEL,
558 IsAvailableInChannel("", VersionInfo::CHANNEL_BETA)); 621 IsAvailableInChannel(std::string(), VersionInfo::CHANNEL_BETA));
559 EXPECT_EQ(Feature::UNSUPPORTED_CHANNEL, 622 EXPECT_EQ(Feature::UNSUPPORTED_CHANNEL,
560 IsAvailableInChannel("", VersionInfo::CHANNEL_STABLE)); 623 IsAvailableInChannel(std::string(), VersionInfo::CHANNEL_STABLE));
561 } 624 }
562 625
563 } // namespace 626 } // namespace
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698