| OLD | NEW |
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 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 // These tests make sure MediaGalleriesPermission values are parsed correctly. | 5 // These tests make sure MediaGalleriesPermission values are parsed correctly. |
| 6 | 6 |
| 7 #include <memory> |
| 8 |
| 7 #include "base/values.h" | 9 #include "base/values.h" |
| 8 #include "extensions/common/permissions/api_permission.h" | 10 #include "extensions/common/permissions/api_permission.h" |
| 9 #include "extensions/common/permissions/media_galleries_permission.h" | 11 #include "extensions/common/permissions/media_galleries_permission.h" |
| 10 #include "extensions/common/permissions/media_galleries_permission_data.h" | 12 #include "extensions/common/permissions/media_galleries_permission_data.h" |
| 11 #include "extensions/common/permissions/permissions_info.h" | 13 #include "extensions/common/permissions/permissions_info.h" |
| 12 #include "testing/gtest/include/gtest/gtest.h" | 14 #include "testing/gtest/include/gtest/gtest.h" |
| 13 | 15 |
| 14 using content::SocketPermissionRequest; | 16 using content::SocketPermissionRequest; |
| 15 using extensions::SocketPermissionData; | 17 using extensions::SocketPermissionData; |
| 16 | 18 |
| 17 namespace extensions { | 19 namespace extensions { |
| 18 | 20 |
| 19 namespace { | 21 namespace { |
| 20 | 22 |
| 21 void CheckFromValue(APIPermission* permission, base::ListValue* value, | 23 void CheckFromValue(APIPermission* permission, base::ListValue* value, |
| 22 bool success_expected) { | 24 bool success_expected) { |
| 23 std::string error; | 25 std::string error; |
| 24 std::vector<std::string> unhandled; | 26 std::vector<std::string> unhandled; |
| 25 EXPECT_EQ(success_expected, permission->FromValue(value, &error, &unhandled)); | 27 EXPECT_EQ(success_expected, permission->FromValue(value, &error, &unhandled)); |
| 26 EXPECT_EQ(success_expected, error.empty()); | 28 EXPECT_EQ(success_expected, error.empty()); |
| 27 EXPECT_TRUE(unhandled.empty()); | 29 EXPECT_TRUE(unhandled.empty()); |
| 28 } | 30 } |
| 29 | 31 |
| 30 TEST(MediaGalleriesPermissionTest, GoodValues) { | 32 TEST(MediaGalleriesPermissionTest, GoodValues) { |
| 31 const APIPermissionInfo* permission_info = | 33 const APIPermissionInfo* permission_info = |
| 32 PermissionsInfo::GetInstance()->GetByID(APIPermission::kMediaGalleries); | 34 PermissionsInfo::GetInstance()->GetByID(APIPermission::kMediaGalleries); |
| 33 | 35 |
| 34 scoped_ptr<APIPermission> permission( | 36 std::unique_ptr<APIPermission> permission( |
| 35 permission_info->CreateAPIPermission()); | 37 permission_info->CreateAPIPermission()); |
| 36 | 38 |
| 37 // access_type + all_detected | 39 // access_type + all_detected |
| 38 scoped_ptr<base::ListValue> value(new base::ListValue()); | 40 std::unique_ptr<base::ListValue> value(new base::ListValue()); |
| 39 value->AppendString(MediaGalleriesPermission::kAllAutoDetectedPermission); | 41 value->AppendString(MediaGalleriesPermission::kAllAutoDetectedPermission); |
| 40 value->AppendString(MediaGalleriesPermission::kReadPermission); | 42 value->AppendString(MediaGalleriesPermission::kReadPermission); |
| 41 CheckFromValue(permission.get(), value.get(), true); | 43 CheckFromValue(permission.get(), value.get(), true); |
| 42 | 44 |
| 43 value.reset(new base::ListValue()); | 45 value.reset(new base::ListValue()); |
| 44 value->AppendString(MediaGalleriesPermission::kAllAutoDetectedPermission); | 46 value->AppendString(MediaGalleriesPermission::kAllAutoDetectedPermission); |
| 45 value->AppendString(MediaGalleriesPermission::kCopyToPermission); | 47 value->AppendString(MediaGalleriesPermission::kCopyToPermission); |
| 46 value->AppendString(MediaGalleriesPermission::kReadPermission); | 48 value->AppendString(MediaGalleriesPermission::kReadPermission); |
| 47 value->AppendString(MediaGalleriesPermission::kDeletePermission); | 49 value->AppendString(MediaGalleriesPermission::kDeletePermission); |
| 48 CheckFromValue(permission.get(), value.get(), true); | 50 CheckFromValue(permission.get(), value.get(), true); |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 81 value->AppendString(MediaGalleriesPermission::kDeletePermission); | 83 value->AppendString(MediaGalleriesPermission::kDeletePermission); |
| 82 value->AppendString(MediaGalleriesPermission::kDeletePermission); | 84 value->AppendString(MediaGalleriesPermission::kDeletePermission); |
| 83 value->AppendString(MediaGalleriesPermission::kDeletePermission); | 85 value->AppendString(MediaGalleriesPermission::kDeletePermission); |
| 84 CheckFromValue(permission.get(), value.get(), true); | 86 CheckFromValue(permission.get(), value.get(), true); |
| 85 } | 87 } |
| 86 | 88 |
| 87 TEST(MediaGalleriesPermissionTest, BadValues) { | 89 TEST(MediaGalleriesPermissionTest, BadValues) { |
| 88 const APIPermissionInfo* permission_info = | 90 const APIPermissionInfo* permission_info = |
| 89 PermissionsInfo::GetInstance()->GetByID(APIPermission::kMediaGalleries); | 91 PermissionsInfo::GetInstance()->GetByID(APIPermission::kMediaGalleries); |
| 90 | 92 |
| 91 scoped_ptr<APIPermission> permission(permission_info->CreateAPIPermission()); | 93 std::unique_ptr<APIPermission> permission( |
| 94 permission_info->CreateAPIPermission()); |
| 92 | 95 |
| 93 // copyTo and delete without read | 96 // copyTo and delete without read |
| 94 scoped_ptr<base::ListValue> value(new base::ListValue()); | 97 std::unique_ptr<base::ListValue> value(new base::ListValue()); |
| 95 value->AppendString(MediaGalleriesPermission::kCopyToPermission); | 98 value->AppendString(MediaGalleriesPermission::kCopyToPermission); |
| 96 CheckFromValue(permission.get(), value.get(), false); | 99 CheckFromValue(permission.get(), value.get(), false); |
| 97 | 100 |
| 98 value.reset(new base::ListValue()); | 101 value.reset(new base::ListValue()); |
| 99 value->AppendString(MediaGalleriesPermission::kDeletePermission); | 102 value->AppendString(MediaGalleriesPermission::kDeletePermission); |
| 100 CheckFromValue(permission.get(), value.get(), false); | 103 CheckFromValue(permission.get(), value.get(), false); |
| 101 | 104 |
| 102 value.reset(new base::ListValue()); | 105 value.reset(new base::ListValue()); |
| 103 value->AppendString(MediaGalleriesPermission::kAllAutoDetectedPermission); | 106 value->AppendString(MediaGalleriesPermission::kAllAutoDetectedPermission); |
| 104 value->AppendString(MediaGalleriesPermission::kCopyToPermission); | 107 value->AppendString(MediaGalleriesPermission::kCopyToPermission); |
| (...skipping 21 matching lines...) Expand all Loading... |
| 126 value->AppendString(MediaGalleriesPermission::kDeletePermission); | 129 value->AppendString(MediaGalleriesPermission::kDeletePermission); |
| 127 CheckFromValue(permission.get(), value.get(), false); | 130 CheckFromValue(permission.get(), value.get(), false); |
| 128 } | 131 } |
| 129 | 132 |
| 130 TEST(MediaGalleriesPermissionTest, UnknownValues) { | 133 TEST(MediaGalleriesPermissionTest, UnknownValues) { |
| 131 std::string error; | 134 std::string error; |
| 132 std::vector<std::string> unhandled; | 135 std::vector<std::string> unhandled; |
| 133 const APIPermissionInfo* permission_info = | 136 const APIPermissionInfo* permission_info = |
| 134 PermissionsInfo::GetInstance()->GetByID(APIPermission::kMediaGalleries); | 137 PermissionsInfo::GetInstance()->GetByID(APIPermission::kMediaGalleries); |
| 135 | 138 |
| 136 scoped_ptr<APIPermission> permission(permission_info->CreateAPIPermission()); | 139 std::unique_ptr<APIPermission> permission( |
| 140 permission_info->CreateAPIPermission()); |
| 137 | 141 |
| 138 // A good one and an unknown one. | 142 // A good one and an unknown one. |
| 139 scoped_ptr<base::ListValue> value(new base::ListValue()); | 143 std::unique_ptr<base::ListValue> value(new base::ListValue()); |
| 140 value->AppendString(MediaGalleriesPermission::kReadPermission); | 144 value->AppendString(MediaGalleriesPermission::kReadPermission); |
| 141 value->AppendString("Unknown"); | 145 value->AppendString("Unknown"); |
| 142 EXPECT_TRUE(permission->FromValue(value.get(), &error, &unhandled)); | 146 EXPECT_TRUE(permission->FromValue(value.get(), &error, &unhandled)); |
| 143 EXPECT_TRUE(error.empty()); | 147 EXPECT_TRUE(error.empty()); |
| 144 EXPECT_EQ(1U, unhandled.size()); | 148 EXPECT_EQ(1U, unhandled.size()); |
| 145 error.clear(); | 149 error.clear(); |
| 146 unhandled.clear(); | 150 unhandled.clear(); |
| 147 | 151 |
| 148 // Multiple unknown permissions. | 152 // Multiple unknown permissions. |
| 149 value.reset(new base::ListValue()); | 153 value.reset(new base::ListValue()); |
| (...skipping 10 matching lines...) Expand all Loading... |
| 160 value->AppendString("Unknown1"); | 164 value->AppendString("Unknown1"); |
| 161 EXPECT_FALSE(permission->FromValue(value.get(), &error, NULL)); | 165 EXPECT_FALSE(permission->FromValue(value.get(), &error, NULL)); |
| 162 EXPECT_FALSE(error.empty()); | 166 EXPECT_FALSE(error.empty()); |
| 163 error.clear(); | 167 error.clear(); |
| 164 } | 168 } |
| 165 | 169 |
| 166 TEST(MediaGalleriesPermissionTest, Equal) { | 170 TEST(MediaGalleriesPermissionTest, Equal) { |
| 167 const APIPermissionInfo* permission_info = | 171 const APIPermissionInfo* permission_info = |
| 168 PermissionsInfo::GetInstance()->GetByID(APIPermission::kMediaGalleries); | 172 PermissionsInfo::GetInstance()->GetByID(APIPermission::kMediaGalleries); |
| 169 | 173 |
| 170 scoped_ptr<APIPermission> permission1( | 174 std::unique_ptr<APIPermission> permission1( |
| 171 permission_info->CreateAPIPermission()); | 175 permission_info->CreateAPIPermission()); |
| 172 scoped_ptr<APIPermission> permission2( | 176 std::unique_ptr<APIPermission> permission2( |
| 173 permission_info->CreateAPIPermission()); | 177 permission_info->CreateAPIPermission()); |
| 174 | 178 |
| 175 scoped_ptr<base::ListValue> value(new base::ListValue()); | 179 std::unique_ptr<base::ListValue> value(new base::ListValue()); |
| 176 value->AppendString(MediaGalleriesPermission::kAllAutoDetectedPermission); | 180 value->AppendString(MediaGalleriesPermission::kAllAutoDetectedPermission); |
| 177 value->AppendString(MediaGalleriesPermission::kReadPermission); | 181 value->AppendString(MediaGalleriesPermission::kReadPermission); |
| 178 ASSERT_TRUE(permission1->FromValue(value.get(), NULL, NULL)); | 182 ASSERT_TRUE(permission1->FromValue(value.get(), NULL, NULL)); |
| 179 | 183 |
| 180 value.reset(new base::ListValue()); | 184 value.reset(new base::ListValue()); |
| 181 value->AppendString(MediaGalleriesPermission::kReadPermission); | 185 value->AppendString(MediaGalleriesPermission::kReadPermission); |
| 182 value->AppendString(MediaGalleriesPermission::kAllAutoDetectedPermission); | 186 value->AppendString(MediaGalleriesPermission::kAllAutoDetectedPermission); |
| 183 ASSERT_TRUE(permission2->FromValue(value.get(), NULL, NULL)); | 187 ASSERT_TRUE(permission2->FromValue(value.get(), NULL, NULL)); |
| 184 EXPECT_TRUE(permission1->Equal(permission2.get())); | 188 EXPECT_TRUE(permission1->Equal(permission2.get())); |
| 185 | 189 |
| (...skipping 26 matching lines...) Expand all Loading... |
| 212 value->AppendString(MediaGalleriesPermission::kCopyToPermission); | 216 value->AppendString(MediaGalleriesPermission::kCopyToPermission); |
| 213 value->AppendString(MediaGalleriesPermission::kReadPermission); | 217 value->AppendString(MediaGalleriesPermission::kReadPermission); |
| 214 ASSERT_TRUE(permission2->FromValue(value.get(), NULL, NULL)); | 218 ASSERT_TRUE(permission2->FromValue(value.get(), NULL, NULL)); |
| 215 EXPECT_TRUE(permission1->Equal(permission2.get())); | 219 EXPECT_TRUE(permission1->Equal(permission2.get())); |
| 216 } | 220 } |
| 217 | 221 |
| 218 TEST(MediaGalleriesPermissionTest, NotEqual) { | 222 TEST(MediaGalleriesPermissionTest, NotEqual) { |
| 219 const APIPermissionInfo* permission_info = | 223 const APIPermissionInfo* permission_info = |
| 220 PermissionsInfo::GetInstance()->GetByID(APIPermission::kMediaGalleries); | 224 PermissionsInfo::GetInstance()->GetByID(APIPermission::kMediaGalleries); |
| 221 | 225 |
| 222 scoped_ptr<APIPermission> permission1( | 226 std::unique_ptr<APIPermission> permission1( |
| 223 permission_info->CreateAPIPermission()); | 227 permission_info->CreateAPIPermission()); |
| 224 scoped_ptr<APIPermission> permission2( | 228 std::unique_ptr<APIPermission> permission2( |
| 225 permission_info->CreateAPIPermission()); | 229 permission_info->CreateAPIPermission()); |
| 226 | 230 |
| 227 scoped_ptr<base::ListValue> value(new base::ListValue()); | 231 std::unique_ptr<base::ListValue> value(new base::ListValue()); |
| 228 value->AppendString(MediaGalleriesPermission::kAllAutoDetectedPermission); | 232 value->AppendString(MediaGalleriesPermission::kAllAutoDetectedPermission); |
| 229 value->AppendString(MediaGalleriesPermission::kReadPermission); | 233 value->AppendString(MediaGalleriesPermission::kReadPermission); |
| 230 ASSERT_TRUE(permission1->FromValue(value.get(), NULL, NULL)); | 234 ASSERT_TRUE(permission1->FromValue(value.get(), NULL, NULL)); |
| 231 | 235 |
| 232 value.reset(new base::ListValue()); | 236 value.reset(new base::ListValue()); |
| 233 value->AppendString(MediaGalleriesPermission::kAllAutoDetectedPermission); | 237 value->AppendString(MediaGalleriesPermission::kAllAutoDetectedPermission); |
| 234 value->AppendString(MediaGalleriesPermission::kReadPermission); | 238 value->AppendString(MediaGalleriesPermission::kReadPermission); |
| 235 value->AppendString(MediaGalleriesPermission::kDeletePermission); | 239 value->AppendString(MediaGalleriesPermission::kDeletePermission); |
| 236 value->AppendString(MediaGalleriesPermission::kCopyToPermission); | 240 value->AppendString(MediaGalleriesPermission::kCopyToPermission); |
| 237 ASSERT_TRUE(permission2->FromValue(value.get(), NULL, NULL)); | 241 ASSERT_TRUE(permission2->FromValue(value.get(), NULL, NULL)); |
| 238 EXPECT_FALSE(permission1->Equal(permission2.get())); | 242 EXPECT_FALSE(permission1->Equal(permission2.get())); |
| 239 } | 243 } |
| 240 | 244 |
| 241 TEST(MediaGalleriesPermissionTest, ToFromValue) { | 245 TEST(MediaGalleriesPermissionTest, ToFromValue) { |
| 242 const APIPermissionInfo* permission_info = | 246 const APIPermissionInfo* permission_info = |
| 243 PermissionsInfo::GetInstance()->GetByID(APIPermission::kMediaGalleries); | 247 PermissionsInfo::GetInstance()->GetByID(APIPermission::kMediaGalleries); |
| 244 | 248 |
| 245 scoped_ptr<APIPermission> permission1( | 249 std::unique_ptr<APIPermission> permission1( |
| 246 permission_info->CreateAPIPermission()); | 250 permission_info->CreateAPIPermission()); |
| 247 scoped_ptr<APIPermission> permission2( | 251 std::unique_ptr<APIPermission> permission2( |
| 248 permission_info->CreateAPIPermission()); | 252 permission_info->CreateAPIPermission()); |
| 249 | 253 |
| 250 scoped_ptr<base::ListValue> value(new base::ListValue()); | 254 std::unique_ptr<base::ListValue> value(new base::ListValue()); |
| 251 value->AppendString(MediaGalleriesPermission::kAllAutoDetectedPermission); | 255 value->AppendString(MediaGalleriesPermission::kAllAutoDetectedPermission); |
| 252 value->AppendString(MediaGalleriesPermission::kReadPermission); | 256 value->AppendString(MediaGalleriesPermission::kReadPermission); |
| 253 ASSERT_TRUE(permission1->FromValue(value.get(), NULL, NULL)); | 257 ASSERT_TRUE(permission1->FromValue(value.get(), NULL, NULL)); |
| 254 | 258 |
| 255 scoped_ptr<base::Value> vtmp(permission1->ToValue()); | 259 std::unique_ptr<base::Value> vtmp(permission1->ToValue()); |
| 256 ASSERT_TRUE(vtmp); | 260 ASSERT_TRUE(vtmp); |
| 257 ASSERT_TRUE(permission2->FromValue(vtmp.get(), NULL, NULL)); | 261 ASSERT_TRUE(permission2->FromValue(vtmp.get(), NULL, NULL)); |
| 258 EXPECT_TRUE(permission1->Equal(permission2.get())); | 262 EXPECT_TRUE(permission1->Equal(permission2.get())); |
| 259 | 263 |
| 260 value.reset(new base::ListValue()); | 264 value.reset(new base::ListValue()); |
| 261 value->AppendString(MediaGalleriesPermission::kReadPermission); | 265 value->AppendString(MediaGalleriesPermission::kReadPermission); |
| 262 value->AppendString(MediaGalleriesPermission::kDeletePermission); | 266 value->AppendString(MediaGalleriesPermission::kDeletePermission); |
| 263 value->AppendString(MediaGalleriesPermission::kCopyToPermission); | 267 value->AppendString(MediaGalleriesPermission::kCopyToPermission); |
| 264 ASSERT_TRUE(permission1->FromValue(value.get(), NULL, NULL)); | 268 ASSERT_TRUE(permission1->FromValue(value.get(), NULL, NULL)); |
| 265 | 269 |
| (...skipping 18 matching lines...) Expand all Loading... |
| 284 | 288 |
| 285 vtmp = permission1->ToValue(); | 289 vtmp = permission1->ToValue(); |
| 286 ASSERT_TRUE(vtmp); | 290 ASSERT_TRUE(vtmp); |
| 287 ASSERT_TRUE(permission2->FromValue(vtmp.get(), NULL, NULL)); | 291 ASSERT_TRUE(permission2->FromValue(vtmp.get(), NULL, NULL)); |
| 288 EXPECT_TRUE(permission1->Equal(permission2.get())); | 292 EXPECT_TRUE(permission1->Equal(permission2.get())); |
| 289 } | 293 } |
| 290 | 294 |
| 291 } // namespace | 295 } // namespace |
| 292 | 296 |
| 293 } // namespace extensions | 297 } // namespace extensions |
| OLD | NEW |