Index: extensions/common/features/simple_feature_unittest.cc |
diff --git a/extensions/common/features/simple_feature_unittest.cc b/extensions/common/features/simple_feature_unittest.cc |
index f446042f5fda369fc0919012da11aec7987631b8..bc7ab325834bdbf93a8b204420e6f1009a27eb6e 100644 |
--- a/extensions/common/features/simple_feature_unittest.cc |
+++ b/extensions/common/features/simple_feature_unittest.cc |
@@ -387,6 +387,30 @@ TEST_F(SimpleFeatureTest, Context) { |
extension.get(), Feature::BLESSED_EXTENSION_CONTEXT, |
Feature::UNSPECIFIED_PLATFORM).result()); |
+ feature.contexts_.clear(); |
+ feature.contexts_.push_back(Feature::BLESSED_EXTENSION_CONTEXT); |
+ |
+ { |
+ Feature::Availability availability = feature.IsAvailableToContext( |
+ extension.get(), Feature::LOCK_SCREEN_EXTENSION_CONTEXT, |
+ Feature::CHROMEOS_PLATFORM); |
+ EXPECT_EQ(Feature::INVALID_CONTEXT, availability.result()); |
+ EXPECT_EQ( |
+ "'somefeature' is only allowed to run in privileged pages, " |
+ "but this is a lock screen app", |
+ availability.message()); |
+ } |
+ |
+ feature.contexts_.clear(); |
+ feature.contexts_.push_back(Feature::LOCK_SCREEN_EXTENSION_CONTEXT); |
+ |
+ EXPECT_EQ(Feature::IS_AVAILABLE, |
+ feature |
+ .IsAvailableToContext(extension.get(), |
+ Feature::LOCK_SCREEN_EXTENSION_CONTEXT, |
+ Feature::CHROMEOS_PLATFORM) |
+ .result()); |
+ |
feature.set_min_manifest_version(22); |
EXPECT_EQ(Feature::INVALID_MIN_MANIFEST_VERSION, feature.IsAvailableToContext( |
extension.get(), Feature::BLESSED_EXTENSION_CONTEXT, |