| Index: chrome/common/extensions/permissions/media_galleries_permission_unittest.cc
|
| diff --git a/chrome/common/extensions/permissions/media_galleries_permission_unittest.cc b/chrome/common/extensions/permissions/media_galleries_permission_unittest.cc
|
| index 85403760f8ca2b6db2c1f2b1336b4a6a0774cd06..71651f9534f02e3a62f0cd76e18aaf9187532580 100644
|
| --- a/chrome/common/extensions/permissions/media_galleries_permission_unittest.cc
|
| +++ b/chrome/common/extensions/permissions/media_galleries_permission_unittest.cc
|
| @@ -18,8 +18,16 @@ namespace extensions {
|
|
|
| namespace {
|
|
|
| -TEST(MediaGalleriesPermissionTest, GoodValues) {
|
| +void CheckFromValue(APIPermission* permission, base::ListValue* value,
|
| + bool success_expected) {
|
| std::string error;
|
| + std::vector<std::string> unhandled;
|
| + EXPECT_EQ(success_expected, permission->FromValue(value, &error, &unhandled));
|
| + EXPECT_EQ(success_expected, error.empty());
|
| + EXPECT_TRUE(unhandled.empty());
|
| +}
|
| +
|
| +TEST(MediaGalleriesPermissionTest, GoodValues) {
|
| const APIPermissionInfo* permission_info =
|
| PermissionsInfo::GetInstance()->GetByID(APIPermission::kMediaGalleries);
|
|
|
| @@ -30,55 +38,41 @@ TEST(MediaGalleriesPermissionTest, GoodValues) {
|
| scoped_ptr<base::ListValue> value(new base::ListValue());
|
| value->AppendString(MediaGalleriesPermission::kAllAutoDetectedPermission);
|
| value->AppendString(MediaGalleriesPermission::kReadPermission);
|
| - EXPECT_TRUE(permission->FromValue(value.get(), &error));
|
| - EXPECT_TRUE(error.empty());
|
| - error.clear();
|
| + CheckFromValue(permission.get(), value.get(), true);
|
|
|
| value.reset(new base::ListValue());
|
| value->AppendString(MediaGalleriesPermission::kAllAutoDetectedPermission);
|
| value->AppendString(MediaGalleriesPermission::kCopyToPermission);
|
| value->AppendString(MediaGalleriesPermission::kReadPermission);
|
| value->AppendString(MediaGalleriesPermission::kDeletePermission);
|
| - EXPECT_TRUE(permission->FromValue(value.get(), &error));
|
| - EXPECT_TRUE(error.empty());
|
| - error.clear();
|
| + CheckFromValue(permission.get(), value.get(), true);
|
|
|
| // all_detected
|
| value.reset(new base::ListValue());
|
| value->AppendString(MediaGalleriesPermission::kAllAutoDetectedPermission);
|
| - EXPECT_TRUE(permission->FromValue(value.get(), &error));
|
| - EXPECT_TRUE(error.empty());
|
| - error.clear();
|
| + CheckFromValue(permission.get(), value.get(), true);
|
|
|
| // access_type
|
| value.reset(new base::ListValue());
|
| value->AppendString(MediaGalleriesPermission::kReadPermission);
|
| - EXPECT_TRUE(permission->FromValue(value.get(), &error));
|
| - EXPECT_TRUE(error.empty());
|
| - error.clear();
|
| + CheckFromValue(permission.get(), value.get(), true);
|
|
|
| value.reset(new base::ListValue());
|
| value->AppendString(MediaGalleriesPermission::kDeletePermission);
|
| value->AppendString(MediaGalleriesPermission::kReadPermission);
|
| - EXPECT_TRUE(permission->FromValue(value.get(), &error));
|
| - EXPECT_TRUE(error.empty());
|
| - error.clear();
|
| + CheckFromValue(permission.get(), value.get(), true);
|
|
|
| value.reset(new base::ListValue());
|
| value->AppendString(MediaGalleriesPermission::kCopyToPermission);
|
| value->AppendString(MediaGalleriesPermission::kDeletePermission);
|
| value->AppendString(MediaGalleriesPermission::kReadPermission);
|
| - EXPECT_TRUE(permission->FromValue(value.get(), &error));
|
| - EXPECT_TRUE(error.empty());
|
| - error.clear();
|
| + CheckFromValue(permission.get(), value.get(), true);
|
|
|
| // Repeats do not make a difference.
|
| value.reset(new base::ListValue());
|
| value->AppendString(MediaGalleriesPermission::kAllAutoDetectedPermission);
|
| value->AppendString(MediaGalleriesPermission::kAllAutoDetectedPermission);
|
| - EXPECT_TRUE(permission->FromValue(value.get(), &error));
|
| - EXPECT_TRUE(error.empty());
|
| - error.clear();
|
| + CheckFromValue(permission.get(), value.get(), true);
|
|
|
| value.reset(new base::ListValue());
|
| value->AppendString(MediaGalleriesPermission::kAllAutoDetectedPermission);
|
| @@ -87,13 +81,10 @@ TEST(MediaGalleriesPermissionTest, GoodValues) {
|
| value->AppendString(MediaGalleriesPermission::kDeletePermission);
|
| value->AppendString(MediaGalleriesPermission::kDeletePermission);
|
| value->AppendString(MediaGalleriesPermission::kDeletePermission);
|
| - EXPECT_TRUE(permission->FromValue(value.get(), &error));
|
| - EXPECT_TRUE(error.empty());
|
| - error.clear();
|
| + CheckFromValue(permission.get(), value.get(), true);
|
| }
|
|
|
| TEST(MediaGalleriesPermissionTest, BadValues) {
|
| - std::string error;
|
| const APIPermissionInfo* permission_info =
|
| PermissionsInfo::GetInstance()->GetByID(APIPermission::kMediaGalleries);
|
|
|
| @@ -101,47 +92,35 @@ TEST(MediaGalleriesPermissionTest, BadValues) {
|
|
|
| // Empty
|
| scoped_ptr<base::ListValue> value(new base::ListValue());
|
| - EXPECT_FALSE(permission->FromValue(value.get(), &error));
|
| - EXPECT_FALSE(error.empty());
|
| - error.clear();
|
| + CheckFromValue(permission.get(), value.get(), false);
|
|
|
| // copyTo and delete without read
|
| value.reset(new base::ListValue());
|
| value->AppendString(MediaGalleriesPermission::kCopyToPermission);
|
| - EXPECT_FALSE(permission->FromValue(value.get(), &error));
|
| - EXPECT_FALSE(error.empty());
|
| - error.clear();
|
| + CheckFromValue(permission.get(), value.get(), false);
|
|
|
| value.reset(new base::ListValue());
|
| value->AppendString(MediaGalleriesPermission::kDeletePermission);
|
| - EXPECT_FALSE(permission->FromValue(value.get(), &error));
|
| - EXPECT_FALSE(error.empty());
|
| - error.clear();
|
| + CheckFromValue(permission.get(), value.get(), false);
|
|
|
| value.reset(new base::ListValue());
|
| value->AppendString(MediaGalleriesPermission::kAllAutoDetectedPermission);
|
| value->AppendString(MediaGalleriesPermission::kCopyToPermission);
|
| value->AppendString(MediaGalleriesPermission::kDeletePermission);
|
| - EXPECT_FALSE(permission->FromValue(value.get(), &error));
|
| - EXPECT_FALSE(error.empty());
|
| - error.clear();
|
| + CheckFromValue(permission.get(), value.get(), false);
|
|
|
| // copyTo without delete
|
| value.reset(new base::ListValue());
|
| value->AppendString(MediaGalleriesPermission::kAllAutoDetectedPermission);
|
| value->AppendString(MediaGalleriesPermission::kCopyToPermission);
|
| value->AppendString(MediaGalleriesPermission::kReadPermission);
|
| - EXPECT_FALSE(permission->FromValue(value.get(), &error));
|
| - EXPECT_FALSE(error.empty());
|
| - error.clear();
|
| + CheckFromValue(permission.get(), value.get(), false);
|
|
|
| // Repeats do not make a difference.
|
| value.reset(new base::ListValue());
|
| value->AppendString(MediaGalleriesPermission::kCopyToPermission);
|
| value->AppendString(MediaGalleriesPermission::kCopyToPermission);
|
| - EXPECT_FALSE(permission->FromValue(value.get(), &error));
|
| - EXPECT_FALSE(error.empty());
|
| - error.clear();
|
| + CheckFromValue(permission.get(), value.get(), false);
|
|
|
| value.reset(new base::ListValue());
|
| value->AppendString(MediaGalleriesPermission::kAllAutoDetectedPermission);
|
| @@ -149,9 +128,36 @@ TEST(MediaGalleriesPermissionTest, BadValues) {
|
| value->AppendString(MediaGalleriesPermission::kCopyToPermission);
|
| value->AppendString(MediaGalleriesPermission::kDeletePermission);
|
| value->AppendString(MediaGalleriesPermission::kDeletePermission);
|
| - EXPECT_FALSE(permission->FromValue(value.get(), &error));
|
| - EXPECT_FALSE(error.empty());
|
| + CheckFromValue(permission.get(), value.get(), false);
|
| +}
|
| +
|
| +TEST(MediaGalleriesPermissionTest, UnknownValues) {
|
| + std::string error;
|
| + std::vector<std::string> unhandled;
|
| + const APIPermissionInfo* permission_info =
|
| + PermissionsInfo::GetInstance()->GetByID(APIPermission::kMediaGalleries);
|
| +
|
| + scoped_ptr<APIPermission> permission(permission_info->CreateAPIPermission());
|
| +
|
| + // A good one and an unknown one.
|
| + scoped_ptr<base::ListValue> value(new base::ListValue());
|
| + value->AppendString(MediaGalleriesPermission::kReadPermission);
|
| + value->AppendString("Unknown");
|
| + EXPECT_TRUE(permission->FromValue(value.get(), &error, &unhandled));
|
| + EXPECT_TRUE(error.empty());
|
| + EXPECT_EQ(1U, unhandled.size());
|
| + error.clear();
|
| + unhandled.clear();
|
| +
|
| + // Multiple unknown permissions.
|
| + value.reset(new base::ListValue());
|
| + value->AppendString("Unknown1");
|
| + value->AppendString("Unknown2");
|
| + EXPECT_TRUE(permission->FromValue(value.get(), &error, &unhandled));
|
| + EXPECT_TRUE(error.empty());
|
| + EXPECT_EQ(2U, unhandled.size());
|
| error.clear();
|
| + unhandled.clear();
|
| }
|
|
|
| TEST(MediaGalleriesPermissionTest, Equal) {
|
| @@ -166,43 +172,43 @@ TEST(MediaGalleriesPermissionTest, Equal) {
|
| scoped_ptr<base::ListValue> value(new base::ListValue());
|
| value->AppendString(MediaGalleriesPermission::kAllAutoDetectedPermission);
|
| value->AppendString(MediaGalleriesPermission::kReadPermission);
|
| - ASSERT_TRUE(permission1->FromValue(value.get(), NULL));
|
| + ASSERT_TRUE(permission1->FromValue(value.get(), NULL, NULL));
|
|
|
| value.reset(new base::ListValue());
|
| value->AppendString(MediaGalleriesPermission::kReadPermission);
|
| value->AppendString(MediaGalleriesPermission::kAllAutoDetectedPermission);
|
| - ASSERT_TRUE(permission2->FromValue(value.get(), NULL));
|
| + ASSERT_TRUE(permission2->FromValue(value.get(), NULL, NULL));
|
| EXPECT_TRUE(permission1->Equal(permission2.get()));
|
|
|
| value.reset(new base::ListValue());
|
| value->AppendString(MediaGalleriesPermission::kReadPermission);
|
| value->AppendString(MediaGalleriesPermission::kReadPermission);
|
| value->AppendString(MediaGalleriesPermission::kAllAutoDetectedPermission);
|
| - ASSERT_TRUE(permission2->FromValue(value.get(), NULL));
|
| + ASSERT_TRUE(permission2->FromValue(value.get(), NULL, NULL));
|
| EXPECT_TRUE(permission1->Equal(permission2.get()));
|
|
|
| value.reset(new base::ListValue());
|
| value->AppendString(MediaGalleriesPermission::kReadPermission);
|
| value->AppendString(MediaGalleriesPermission::kDeletePermission);
|
| - ASSERT_TRUE(permission1->FromValue(value.get(), NULL));
|
| + ASSERT_TRUE(permission1->FromValue(value.get(), NULL, NULL));
|
|
|
| value.reset(new base::ListValue());
|
| value->AppendString(MediaGalleriesPermission::kDeletePermission);
|
| value->AppendString(MediaGalleriesPermission::kReadPermission);
|
| - ASSERT_TRUE(permission2->FromValue(value.get(), NULL));
|
| + ASSERT_TRUE(permission2->FromValue(value.get(), NULL, NULL));
|
| EXPECT_TRUE(permission1->Equal(permission2.get()));
|
|
|
| value.reset(new base::ListValue());
|
| value->AppendString(MediaGalleriesPermission::kReadPermission);
|
| value->AppendString(MediaGalleriesPermission::kCopyToPermission);
|
| value->AppendString(MediaGalleriesPermission::kDeletePermission);
|
| - ASSERT_TRUE(permission1->FromValue(value.get(), NULL));
|
| + ASSERT_TRUE(permission1->FromValue(value.get(), NULL, NULL));
|
|
|
| value.reset(new base::ListValue());
|
| value->AppendString(MediaGalleriesPermission::kDeletePermission);
|
| value->AppendString(MediaGalleriesPermission::kCopyToPermission);
|
| value->AppendString(MediaGalleriesPermission::kReadPermission);
|
| - ASSERT_TRUE(permission2->FromValue(value.get(), NULL));
|
| + ASSERT_TRUE(permission2->FromValue(value.get(), NULL, NULL));
|
| EXPECT_TRUE(permission1->Equal(permission2.get()));
|
| }
|
|
|
| @@ -218,14 +224,14 @@ TEST(MediaGalleriesPermissionTest, NotEqual) {
|
| scoped_ptr<base::ListValue> value(new base::ListValue());
|
| value->AppendString(MediaGalleriesPermission::kAllAutoDetectedPermission);
|
| value->AppendString(MediaGalleriesPermission::kReadPermission);
|
| - ASSERT_TRUE(permission1->FromValue(value.get(), NULL));
|
| + ASSERT_TRUE(permission1->FromValue(value.get(), NULL, NULL));
|
|
|
| value.reset(new base::ListValue());
|
| value->AppendString(MediaGalleriesPermission::kAllAutoDetectedPermission);
|
| value->AppendString(MediaGalleriesPermission::kReadPermission);
|
| value->AppendString(MediaGalleriesPermission::kDeletePermission);
|
| value->AppendString(MediaGalleriesPermission::kCopyToPermission);
|
| - ASSERT_TRUE(permission2->FromValue(value.get(), NULL));
|
| + ASSERT_TRUE(permission2->FromValue(value.get(), NULL, NULL));
|
| EXPECT_FALSE(permission1->Equal(permission2.get()));
|
| }
|
|
|
| @@ -241,32 +247,32 @@ TEST(MediaGalleriesPermissionTest, ToFromValue) {
|
| scoped_ptr<base::ListValue> value(new base::ListValue());
|
| value->AppendString(MediaGalleriesPermission::kAllAutoDetectedPermission);
|
| value->AppendString(MediaGalleriesPermission::kReadPermission);
|
| - ASSERT_TRUE(permission1->FromValue(value.get(), NULL));
|
| + ASSERT_TRUE(permission1->FromValue(value.get(), NULL, NULL));
|
|
|
| scoped_ptr<base::Value> vtmp(permission1->ToValue());
|
| ASSERT_TRUE(vtmp);
|
| - ASSERT_TRUE(permission2->FromValue(vtmp.get(), NULL));
|
| + ASSERT_TRUE(permission2->FromValue(vtmp.get(), NULL, NULL));
|
| EXPECT_TRUE(permission1->Equal(permission2.get()));
|
|
|
| value.reset(new base::ListValue());
|
| value->AppendString(MediaGalleriesPermission::kReadPermission);
|
| value->AppendString(MediaGalleriesPermission::kDeletePermission);
|
| value->AppendString(MediaGalleriesPermission::kCopyToPermission);
|
| - ASSERT_TRUE(permission1->FromValue(value.get(), NULL));
|
| + ASSERT_TRUE(permission1->FromValue(value.get(), NULL, NULL));
|
|
|
| vtmp = permission1->ToValue();
|
| ASSERT_TRUE(vtmp);
|
| - ASSERT_TRUE(permission2->FromValue(vtmp.get(), NULL));
|
| + ASSERT_TRUE(permission2->FromValue(vtmp.get(), NULL, NULL));
|
| EXPECT_TRUE(permission1->Equal(permission2.get()));
|
|
|
| value.reset(new base::ListValue());
|
| value->AppendString(MediaGalleriesPermission::kReadPermission);
|
| value->AppendString(MediaGalleriesPermission::kDeletePermission);
|
| - ASSERT_TRUE(permission1->FromValue(value.get(), NULL));
|
| + ASSERT_TRUE(permission1->FromValue(value.get(), NULL, NULL));
|
|
|
| vtmp = permission1->ToValue();
|
| ASSERT_TRUE(vtmp);
|
| - ASSERT_TRUE(permission2->FromValue(vtmp.get(), NULL));
|
| + ASSERT_TRUE(permission2->FromValue(vtmp.get(), NULL, NULL));
|
| EXPECT_TRUE(permission1->Equal(permission2.get()));
|
| }
|
|
|
|
|