OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 #include <stddef.h> | 5 #include <stddef.h> |
6 | 6 |
7 #include <memory> | 7 #include <memory> |
8 #include <utility> | 8 #include <utility> |
9 | 9 |
10 #include "base/macros.h" | 10 #include "base/macros.h" |
(...skipping 248 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
259 std::unique_ptr<ChromePermissionMessageProvider> message_provider_; | 259 std::unique_ptr<ChromePermissionMessageProvider> message_provider_; |
260 }; | 260 }; |
261 | 261 |
262 TEST_F(USBDevicePermissionMessagesTest, SingleDevice) { | 262 TEST_F(USBDevicePermissionMessagesTest, SingleDevice) { |
263 { | 263 { |
264 const char kMessage[] = | 264 const char kMessage[] = |
265 "Access any PVR Mass Storage from HUMAX Co., Ltd. via USB"; | 265 "Access any PVR Mass Storage from HUMAX Co., Ltd. via USB"; |
266 | 266 |
267 std::unique_ptr<base::ListValue> permission_list(new base::ListValue()); | 267 std::unique_ptr<base::ListValue> permission_list(new base::ListValue()); |
268 permission_list->Append( | 268 permission_list->Append( |
269 UsbDevicePermissionData(0x02ad, 0x138c, -1).ToValue().release()); | 269 UsbDevicePermissionData(0x02ad, 0x138c, -1).ToValue()); |
270 | 270 |
271 UsbDevicePermission permission( | 271 UsbDevicePermission permission( |
272 PermissionsInfo::GetInstance()->GetByID(APIPermission::kUsbDevice)); | 272 PermissionsInfo::GetInstance()->GetByID(APIPermission::kUsbDevice)); |
273 ASSERT_TRUE(permission.FromValue(permission_list.get(), NULL, NULL)); | 273 ASSERT_TRUE(permission.FromValue(permission_list.get(), NULL, NULL)); |
274 | 274 |
275 PermissionMessages messages = GetMessages(permission.GetPermissions()); | 275 PermissionMessages messages = GetMessages(permission.GetPermissions()); |
276 ASSERT_EQ(1U, messages.size()); | 276 ASSERT_EQ(1U, messages.size()); |
277 EXPECT_EQ(base::ASCIIToUTF16(kMessage), messages.front().message()); | 277 EXPECT_EQ(base::ASCIIToUTF16(kMessage), messages.front().message()); |
278 } | 278 } |
279 { | 279 { |
280 const char kMessage[] = "Access USB devices from HUMAX Co., Ltd."; | 280 const char kMessage[] = "Access USB devices from HUMAX Co., Ltd."; |
281 | 281 |
282 std::unique_ptr<base::ListValue> permission_list(new base::ListValue()); | 282 std::unique_ptr<base::ListValue> permission_list(new base::ListValue()); |
283 permission_list->Append( | 283 permission_list->Append( |
284 UsbDevicePermissionData(0x02ad, 0x138d, -1).ToValue().release()); | 284 UsbDevicePermissionData(0x02ad, 0x138d, -1).ToValue()); |
285 | 285 |
286 UsbDevicePermission permission( | 286 UsbDevicePermission permission( |
287 PermissionsInfo::GetInstance()->GetByID(APIPermission::kUsbDevice)); | 287 PermissionsInfo::GetInstance()->GetByID(APIPermission::kUsbDevice)); |
288 ASSERT_TRUE(permission.FromValue(permission_list.get(), NULL, NULL)); | 288 ASSERT_TRUE(permission.FromValue(permission_list.get(), NULL, NULL)); |
289 | 289 |
290 PermissionMessages messages = GetMessages(permission.GetPermissions()); | 290 PermissionMessages messages = GetMessages(permission.GetPermissions()); |
291 ASSERT_EQ(1U, messages.size()); | 291 ASSERT_EQ(1U, messages.size()); |
292 EXPECT_EQ(base::ASCIIToUTF16(kMessage), messages.front().message()); | 292 EXPECT_EQ(base::ASCIIToUTF16(kMessage), messages.front().message()); |
293 } | 293 } |
294 { | 294 { |
295 const char kMessage[] = "Access USB devices from an unknown vendor"; | 295 const char kMessage[] = "Access USB devices from an unknown vendor"; |
296 | 296 |
297 std::unique_ptr<base::ListValue> permission_list(new base::ListValue()); | 297 std::unique_ptr<base::ListValue> permission_list(new base::ListValue()); |
298 permission_list->Append( | 298 permission_list->Append( |
299 UsbDevicePermissionData(0x02ae, 0x138d, -1).ToValue().release()); | 299 UsbDevicePermissionData(0x02ae, 0x138d, -1).ToValue()); |
300 | 300 |
301 UsbDevicePermission permission( | 301 UsbDevicePermission permission( |
302 PermissionsInfo::GetInstance()->GetByID(APIPermission::kUsbDevice)); | 302 PermissionsInfo::GetInstance()->GetByID(APIPermission::kUsbDevice)); |
303 ASSERT_TRUE(permission.FromValue(permission_list.get(), NULL, NULL)); | 303 ASSERT_TRUE(permission.FromValue(permission_list.get(), NULL, NULL)); |
304 | 304 |
305 PermissionMessages messages = GetMessages(permission.GetPermissions()); | 305 PermissionMessages messages = GetMessages(permission.GetPermissions()); |
306 ASSERT_EQ(1U, messages.size()); | 306 ASSERT_EQ(1U, messages.size()); |
307 EXPECT_EQ(base::ASCIIToUTF16(kMessage), messages.front().message()); | 307 EXPECT_EQ(base::ASCIIToUTF16(kMessage), messages.front().message()); |
308 } | 308 } |
309 } | 309 } |
310 | 310 |
311 TEST_F(USBDevicePermissionMessagesTest, MultipleDevice) { | 311 TEST_F(USBDevicePermissionMessagesTest, MultipleDevice) { |
312 const char kMessage[] = "Access any of these USB devices"; | 312 const char kMessage[] = "Access any of these USB devices"; |
313 const char* kDetails[] = { | 313 const char* kDetails[] = { |
314 "PVR Mass Storage from HUMAX Co., Ltd.", | 314 "PVR Mass Storage from HUMAX Co., Ltd.", |
315 "unknown devices from HUMAX Co., Ltd.", | 315 "unknown devices from HUMAX Co., Ltd.", |
316 "devices from an unknown vendor" | 316 "devices from an unknown vendor" |
317 }; | 317 }; |
318 | 318 |
319 // Prepare data set | 319 // Prepare data set |
320 std::unique_ptr<base::ListValue> permission_list(new base::ListValue()); | 320 std::unique_ptr<base::ListValue> permission_list(new base::ListValue()); |
321 permission_list->Append( | 321 permission_list->Append( |
322 UsbDevicePermissionData(0x02ad, 0x138c, -1).ToValue().release()); | 322 UsbDevicePermissionData(0x02ad, 0x138c, -1).ToValue()); |
323 // This device's product ID is not in Chrome's database. | 323 // This device's product ID is not in Chrome's database. |
324 permission_list->Append( | 324 permission_list->Append( |
325 UsbDevicePermissionData(0x02ad, 0x138d, -1).ToValue().release()); | 325 UsbDevicePermissionData(0x02ad, 0x138d, -1).ToValue()); |
326 // This additional unknown product will be collapsed into the entry above. | 326 // This additional unknown product will be collapsed into the entry above. |
327 permission_list->Append( | 327 permission_list->Append( |
328 UsbDevicePermissionData(0x02ad, 0x138e, -1).ToValue().release()); | 328 UsbDevicePermissionData(0x02ad, 0x138e, -1).ToValue()); |
329 // This device's vendor ID is not in Chrome's database. | 329 // This device's vendor ID is not in Chrome's database. |
330 permission_list->Append( | 330 permission_list->Append( |
331 UsbDevicePermissionData(0x02ae, 0x138d, -1).ToValue().release()); | 331 UsbDevicePermissionData(0x02ae, 0x138d, -1).ToValue()); |
332 // This additional unknown vendor will be collapsed into the entry above. | 332 // This additional unknown vendor will be collapsed into the entry above. |
333 permission_list->Append( | 333 permission_list->Append( |
334 UsbDevicePermissionData(0x02af, 0x138d, -1).ToValue().release()); | 334 UsbDevicePermissionData(0x02af, 0x138d, -1).ToValue()); |
335 | 335 |
336 UsbDevicePermission permission( | 336 UsbDevicePermission permission( |
337 PermissionsInfo::GetInstance()->GetByID(APIPermission::kUsbDevice)); | 337 PermissionsInfo::GetInstance()->GetByID(APIPermission::kUsbDevice)); |
338 ASSERT_TRUE(permission.FromValue(permission_list.get(), NULL, NULL)); | 338 ASSERT_TRUE(permission.FromValue(permission_list.get(), NULL, NULL)); |
339 | 339 |
340 PermissionMessages messages = GetMessages(permission.GetPermissions()); | 340 PermissionMessages messages = GetMessages(permission.GetPermissions()); |
341 ASSERT_EQ(1U, messages.size()); | 341 ASSERT_EQ(1U, messages.size()); |
342 EXPECT_EQ(base::ASCIIToUTF16(kMessage), messages.front().message()); | 342 EXPECT_EQ(base::ASCIIToUTF16(kMessage), messages.front().message()); |
343 const std::vector<base::string16>& submessages = | 343 const std::vector<base::string16>& submessages = |
344 messages.front().submessages(); | 344 messages.front().submessages(); |
345 ASSERT_EQ(arraysize(kDetails), submessages.size()); | 345 ASSERT_EQ(arraysize(kDetails), submessages.size()); |
346 for (size_t i = 0; i < submessages.size(); i++) | 346 for (size_t i = 0; i < submessages.size(); i++) |
347 EXPECT_EQ(base::ASCIIToUTF16(kDetails[i]), submessages[i]); | 347 EXPECT_EQ(base::ASCIIToUTF16(kDetails[i]), submessages[i]); |
348 } | 348 } |
349 | 349 |
350 } // namespace extensions | 350 } // namespace extensions |
OLD | NEW |