OLD | NEW |
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 |
(...skipping 359 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
370 EXPECT_EQ(1u, feature2.whitelist()->count("bar")); | 370 EXPECT_EQ(1u, feature2.whitelist()->count("bar")); |
371 EXPECT_EQ(1u, feature2.extension_types()->count(Extension::TYPE_EXTENSION)); | 371 EXPECT_EQ(1u, feature2.extension_types()->count(Extension::TYPE_EXTENSION)); |
372 EXPECT_EQ(1u, | 372 EXPECT_EQ(1u, |
373 feature2.contexts()->count(Feature::UNBLESSED_EXTENSION_CONTEXT)); | 373 feature2.contexts()->count(Feature::UNBLESSED_EXTENSION_CONTEXT)); |
374 EXPECT_EQ(2, feature2.min_manifest_version()); | 374 EXPECT_EQ(2, feature2.min_manifest_version()); |
375 EXPECT_EQ(3, feature2.max_manifest_version()); | 375 EXPECT_EQ(3, feature2.max_manifest_version()); |
376 } | 376 } |
377 | 377 |
378 TEST(ExtensionFeatureTest, Equals) { | 378 TEST(ExtensionFeatureTest, Equals) { |
379 Feature feature; | 379 Feature feature; |
| 380 feature.set_name("monkey"); |
380 feature.whitelist()->insert("foo"); | 381 feature.whitelist()->insert("foo"); |
381 feature.extension_types()->insert(Extension::TYPE_THEME); | 382 feature.extension_types()->insert(Extension::TYPE_THEME); |
382 feature.contexts()->insert(Feature::UNBLESSED_EXTENSION_CONTEXT); | 383 feature.contexts()->insert(Feature::UNBLESSED_EXTENSION_CONTEXT); |
383 feature.set_location(Feature::COMPONENT_LOCATION); | 384 feature.set_location(Feature::COMPONENT_LOCATION); |
384 feature.set_platform(Feature::CHROMEOS_PLATFORM); | 385 feature.set_platform(Feature::CHROMEOS_PLATFORM); |
385 feature.set_min_manifest_version(18); | 386 feature.set_min_manifest_version(18); |
386 feature.set_max_manifest_version(25); | 387 feature.set_max_manifest_version(25); |
387 | 388 |
388 Feature feature2(feature); | 389 Feature feature2(feature); |
389 EXPECT_TRUE(feature2.Equals(feature)); | 390 EXPECT_TRUE(feature2.Equals(feature)); |
390 | 391 |
| 392 feature2.set_name(""); |
| 393 EXPECT_FALSE(feature2.Equals(feature)); |
| 394 |
| 395 feature2 = feature; |
391 feature2.whitelist()->clear(); | 396 feature2.whitelist()->clear(); |
392 EXPECT_FALSE(feature2.Equals(feature)); | 397 EXPECT_FALSE(feature2.Equals(feature)); |
393 | 398 |
394 feature2 = feature; | 399 feature2 = feature; |
395 feature2.extension_types()->clear(); | 400 feature2.extension_types()->clear(); |
396 EXPECT_FALSE(feature2.Equals(feature)); | 401 EXPECT_FALSE(feature2.Equals(feature)); |
397 | 402 |
398 feature2 = feature; | 403 feature2 = feature; |
399 feature2.contexts()->clear(); | 404 feature2.contexts()->clear(); |
400 EXPECT_FALSE(feature2.Equals(feature)); | 405 EXPECT_FALSE(feature2.Equals(feature)); |
401 | 406 |
402 feature2 = feature; | 407 feature2 = feature; |
403 feature2.set_location(Feature::UNSPECIFIED_LOCATION); | 408 feature2.set_location(Feature::UNSPECIFIED_LOCATION); |
404 EXPECT_FALSE(feature2.Equals(feature)); | 409 EXPECT_FALSE(feature2.Equals(feature)); |
405 | 410 |
406 feature2 = feature; | 411 feature2 = feature; |
407 feature2.set_platform(Feature::UNSPECIFIED_PLATFORM); | 412 feature2.set_platform(Feature::UNSPECIFIED_PLATFORM); |
408 EXPECT_FALSE(feature2.Equals(feature)); | 413 EXPECT_FALSE(feature2.Equals(feature)); |
409 | 414 |
410 feature2 = feature; | 415 feature2 = feature; |
411 feature2.set_min_manifest_version(0); | 416 feature2.set_min_manifest_version(0); |
412 EXPECT_FALSE(feature2.Equals(feature)); | 417 EXPECT_FALSE(feature2.Equals(feature)); |
413 | 418 |
414 feature2 = feature; | 419 feature2 = feature; |
415 feature2.set_max_manifest_version(0); | 420 feature2.set_max_manifest_version(0); |
416 EXPECT_FALSE(feature2.Equals(feature)); | 421 EXPECT_FALSE(feature2.Equals(feature)); |
417 } | 422 } |
| 423 |
| 424 TEST(ExtensionFeatureTest, IsEmpty) { |
| 425 Feature feature; |
| 426 EXPECT_TRUE(feature.IsEmpty()); |
| 427 |
| 428 Feature feature2 = feature; |
| 429 feature2.set_name("monkey"); |
| 430 EXPECT_TRUE(feature2.IsEmpty()); |
| 431 |
| 432 feature2 = feature; |
| 433 feature2.whitelist()->insert("monkey"); |
| 434 EXPECT_FALSE(feature2.IsEmpty()); |
| 435 |
| 436 feature2 = feature; |
| 437 feature2.extension_types()->insert(Extension::TYPE_THEME); |
| 438 EXPECT_FALSE(feature2.IsEmpty()); |
| 439 |
| 440 feature2 = feature; |
| 441 feature2.contexts()->insert(Feature::CONTENT_SCRIPT_CONTEXT); |
| 442 EXPECT_FALSE(feature2.IsEmpty()); |
| 443 |
| 444 feature2 = feature; |
| 445 feature2.set_location(Feature::COMPONENT_LOCATION); |
| 446 EXPECT_FALSE(feature2.IsEmpty()); |
| 447 |
| 448 feature2 = feature; |
| 449 feature2.set_platform(Feature::CHROMEOS_PLATFORM); |
| 450 EXPECT_FALSE(feature2.IsEmpty()); |
| 451 } |
OLD | NEW |