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 |