Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(508)

Side by Side Diff: chrome/browser/extensions/permission_messages_unittest.cc

Issue 2051663003: base::ListValue::Append cleanup: pass unique_ptr instead of the released pointer. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698