Index: chrome/common/extensions/permissions/api_permission_set_unittest.cc |
diff --git a/chrome/common/extensions/permissions/api_permission_set_unittest.cc b/chrome/common/extensions/permissions/api_permission_set_unittest.cc |
index 6ff579ac14ad470c5c1e6a1126a357cb585da689..ae4b3be19a857f3ca10271af60e94538b8082a17 100644 |
--- a/chrome/common/extensions/permissions/api_permission_set_unittest.cc |
+++ b/chrome/common/extensions/permissions/api_permission_set_unittest.cc |
@@ -301,4 +301,33 @@ TEST(APIPermissionSetTest, IPC) { |
EXPECT_EQ(apis, expected_apis); |
} |
+TEST(APIPermissionSetTest, ImplicitPermissions) { |
+ APIPermissionSet apis; |
+ apis.insert(APIPermission::kFileSystemWrite); |
+ apis.AddImpliedPermissions(); |
+ |
+ EXPECT_EQ(apis.find(APIPermission::kFileSystemWrite)->id(), |
+ APIPermission::kFileSystemWrite); |
+ EXPECT_EQ(apis.size(), 1u); |
+ |
+ apis.erase(APIPermission::kFileSystemWrite); |
+ apis.insert(APIPermission::kFileSystemDirectory); |
+ apis.AddImpliedPermissions(); |
+ |
+ EXPECT_EQ(apis.find(APIPermission::kFileSystemDirectory)->id(), |
+ APIPermission::kFileSystemDirectory); |
+ EXPECT_EQ(apis.size(), 1u); |
+ |
+ apis.insert(APIPermission::kFileSystemWrite); |
+ apis.AddImpliedPermissions(); |
+ |
+ EXPECT_EQ(apis.find(APIPermission::kFileSystemWrite)->id(), |
+ APIPermission::kFileSystemWrite); |
+ EXPECT_EQ(apis.find(APIPermission::kFileSystemDirectory)->id(), |
+ APIPermission::kFileSystemDirectory); |
+ EXPECT_EQ(apis.find(APIPermission::kFileSystemWriteDirectory)->id(), |
+ APIPermission::kFileSystemWriteDirectory); |
+ EXPECT_EQ(apis.size(), 3u); |
+} |
+ |
} // namespace extensions |