OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 // MediaGalleriesPreferences unit tests. | 5 // MediaGalleriesPreferences unit tests. |
6 | 6 |
7 #include "chrome/browser/media_galleries/media_galleries_preferences.h" | 7 #include "chrome/browser/media_galleries/media_galleries_preferences.h" |
8 | 8 |
9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
10 #include "base/memory/ref_counted.h" | 10 #include "base/memory/ref_counted.h" |
(...skipping 233 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
244 TEST_F(MediaGalleriesPreferencesTest, GalleryManagement) { | 244 TEST_F(MediaGalleriesPreferencesTest, GalleryManagement) { |
245 MediaGalleryPrefId auto_id, user_added_id, id; | 245 MediaGalleryPrefId auto_id, user_added_id, id; |
246 base::FilePath path; | 246 base::FilePath path; |
247 base::FilePath relative_path; | 247 base::FilePath relative_path; |
248 Verify(); | 248 Verify(); |
249 | 249 |
250 // Add a new auto detected gallery. | 250 // Add a new auto detected gallery. |
251 path = MakePath("new_auto"); | 251 path = MakePath("new_auto"); |
252 StorageInfo info; | 252 StorageInfo info; |
253 MediaStorageUtil::GetDeviceInfoFromPath(path, &info, &relative_path); | 253 MediaStorageUtil::GetDeviceInfoFromPath(path, &info, &relative_path); |
254 info.name = ASCIIToUTF16("NewAutoGallery"); | 254 info.set_name(ASCIIToUTF16("NewAutoGallery")); |
255 id = gallery_prefs()->AddGalleryWithName(info.device_id, info.name, | 255 id = gallery_prefs()->AddGalleryWithName(info.device_id(), info.name(), |
256 relative_path, false /*auto*/); | 256 relative_path, false /*auto*/); |
257 EXPECT_EQ(default_galleries_count() + 1UL, id); | 257 EXPECT_EQ(default_galleries_count() + 1UL, id); |
258 auto_id = id; | 258 auto_id = id; |
259 AddGalleryExpectation(id, info.name, info.device_id, relative_path, | 259 AddGalleryExpectation(id, info.name(), info.device_id(), relative_path, |
260 MediaGalleryPrefInfo::kAutoDetected); | 260 MediaGalleryPrefInfo::kAutoDetected); |
261 Verify(); | 261 Verify(); |
262 | 262 |
263 // Add it again (as user), nothing should happen. | 263 // Add it again (as user), nothing should happen. |
264 id = gallery_prefs()->AddGalleryWithName(info.device_id, info.name, | 264 id = gallery_prefs()->AddGalleryWithName(info.device_id(), info.name(), |
265 relative_path, true /*auto*/); | 265 relative_path, true /*auto*/); |
266 EXPECT_EQ(auto_id, id); | 266 EXPECT_EQ(auto_id, id); |
267 Verify(); | 267 Verify(); |
268 | 268 |
269 // Add a new user added gallery. | 269 // Add a new user added gallery. |
270 path = MakePath("new_user"); | 270 path = MakePath("new_user"); |
271 MediaStorageUtil::GetDeviceInfoFromPath(path, &info, &relative_path); | 271 MediaStorageUtil::GetDeviceInfoFromPath(path, &info, &relative_path); |
272 info.name = ASCIIToUTF16("NewUserGallery"); | 272 info.set_name(ASCIIToUTF16("NewUserGallery")); |
273 id = gallery_prefs()->AddGalleryWithName(info.device_id, info.name, | 273 id = gallery_prefs()->AddGalleryWithName(info.device_id(), info.name(), |
274 relative_path, true /*user*/); | 274 relative_path, true /*user*/); |
275 EXPECT_EQ(default_galleries_count() + 2UL, id); | 275 EXPECT_EQ(default_galleries_count() + 2UL, id); |
276 user_added_id = id; | 276 user_added_id = id; |
277 AddGalleryExpectation(id, info.name, info.device_id, relative_path, | 277 AddGalleryExpectation(id, info.name(), info.device_id(), relative_path, |
278 MediaGalleryPrefInfo::kUserAdded); | 278 MediaGalleryPrefInfo::kUserAdded); |
279 Verify(); | 279 Verify(); |
280 | 280 |
281 // Lookup some galleries. | 281 // Lookup some galleries. |
282 EXPECT_TRUE(gallery_prefs()->LookUpGalleryByPath(MakePath("new_auto"), NULL)); | 282 EXPECT_TRUE(gallery_prefs()->LookUpGalleryByPath(MakePath("new_auto"), NULL)); |
283 EXPECT_TRUE(gallery_prefs()->LookUpGalleryByPath(MakePath("new_user"), NULL)); | 283 EXPECT_TRUE(gallery_prefs()->LookUpGalleryByPath(MakePath("new_user"), NULL)); |
284 EXPECT_FALSE(gallery_prefs()->LookUpGalleryByPath(MakePath("other"), NULL)); | 284 EXPECT_FALSE(gallery_prefs()->LookUpGalleryByPath(MakePath("other"), NULL)); |
285 | 285 |
286 // Check that we always get the gallery info. | 286 // Check that we always get the gallery info. |
287 MediaGalleryPrefInfo gallery_info; | 287 MediaGalleryPrefInfo gallery_info; |
288 EXPECT_TRUE(gallery_prefs()->LookUpGalleryByPath(MakePath("new_auto"), | 288 EXPECT_TRUE(gallery_prefs()->LookUpGalleryByPath(MakePath("new_auto"), |
289 &gallery_info)); | 289 &gallery_info)); |
290 VerifyGalleryInfo(gallery_info, auto_id); | 290 VerifyGalleryInfo(gallery_info, auto_id); |
291 EXPECT_FALSE(gallery_info.volume_metadata_valid); | 291 EXPECT_FALSE(gallery_info.volume_metadata_valid); |
292 EXPECT_TRUE(gallery_prefs()->LookUpGalleryByPath(MakePath("new_user"), | 292 EXPECT_TRUE(gallery_prefs()->LookUpGalleryByPath(MakePath("new_user"), |
293 &gallery_info)); | 293 &gallery_info)); |
294 VerifyGalleryInfo(gallery_info, user_added_id); | 294 VerifyGalleryInfo(gallery_info, user_added_id); |
295 EXPECT_FALSE(gallery_info.volume_metadata_valid); | 295 EXPECT_FALSE(gallery_info.volume_metadata_valid); |
296 | 296 |
297 path = MakePath("other"); | 297 path = MakePath("other"); |
298 EXPECT_FALSE(gallery_prefs()->LookUpGalleryByPath(path, &gallery_info)); | 298 EXPECT_FALSE(gallery_prefs()->LookUpGalleryByPath(path, &gallery_info)); |
299 EXPECT_EQ(kInvalidMediaGalleryPrefId, gallery_info.pref_id); | 299 EXPECT_EQ(kInvalidMediaGalleryPrefId, gallery_info.pref_id); |
300 EXPECT_EQ(path.BaseName().LossyDisplayName(), gallery_info.display_name); | 300 EXPECT_EQ(path.BaseName().LossyDisplayName(), gallery_info.display_name); |
301 StorageInfo other_info; | 301 StorageInfo other_info; |
302 MediaStorageUtil::GetDeviceInfoFromPath(path, &other_info, &relative_path); | 302 MediaStorageUtil::GetDeviceInfoFromPath(path, &other_info, &relative_path); |
303 EXPECT_EQ(other_info.device_id, gallery_info.device_id); | 303 EXPECT_EQ(other_info.device_id(), gallery_info.device_id); |
304 EXPECT_EQ(relative_path.value(), gallery_info.path.value()); | 304 EXPECT_EQ(relative_path.value(), gallery_info.path.value()); |
305 | 305 |
306 // Remove an auto added gallery (i.e. make it blacklisted). | 306 // Remove an auto added gallery (i.e. make it blacklisted). |
307 gallery_prefs()->ForgetGalleryById(auto_id); | 307 gallery_prefs()->ForgetGalleryById(auto_id); |
308 expected_galleries_[auto_id].type = MediaGalleryPrefInfo::kBlackListed; | 308 expected_galleries_[auto_id].type = MediaGalleryPrefInfo::kBlackListed; |
309 expected_galleries_for_all.erase(auto_id); | 309 expected_galleries_for_all.erase(auto_id); |
310 Verify(); | 310 Verify(); |
311 | 311 |
312 // Remove a user added gallery and it should go away. | 312 // Remove a user added gallery and it should go away. |
313 gallery_prefs()->ForgetGalleryById(user_added_id); | 313 gallery_prefs()->ForgetGalleryById(user_added_id); |
314 expected_galleries_.erase(user_added_id); | 314 expected_galleries_.erase(user_added_id); |
315 expected_device_map[info.device_id].erase(user_added_id); | 315 expected_device_map[info.device_id()].erase(user_added_id); |
316 Verify(); | 316 Verify(); |
317 } | 317 } |
318 | 318 |
319 TEST_F(MediaGalleriesPreferencesTest, AddGalleryWithVolumeMetadata) { | 319 TEST_F(MediaGalleriesPreferencesTest, AddGalleryWithVolumeMetadata) { |
320 MediaGalleryPrefId id; | 320 MediaGalleryPrefId id; |
321 StorageInfo info; | 321 StorageInfo info; |
322 base::FilePath path; | 322 base::FilePath path; |
323 base::FilePath relative_path; | 323 base::FilePath relative_path; |
324 base::Time now = base::Time::Now(); | 324 base::Time now = base::Time::Now(); |
325 Verify(); | 325 Verify(); |
326 | 326 |
327 // Add a new auto detected gallery. | 327 // Add a new auto detected gallery. |
328 path = MakePath("new_auto"); | 328 path = MakePath("new_auto"); |
329 MediaStorageUtil::GetDeviceInfoFromPath(path, &info, &relative_path); | 329 MediaStorageUtil::GetDeviceInfoFromPath(path, &info, &relative_path); |
330 id = gallery_prefs()->AddGallery(info.device_id, relative_path, | 330 id = gallery_prefs()->AddGallery(info.device_id(), relative_path, |
331 false /*auto*/, | 331 false /*auto*/, |
332 ASCIIToUTF16("volume label"), | 332 ASCIIToUTF16("volume label"), |
333 ASCIIToUTF16("vendor name"), | 333 ASCIIToUTF16("vendor name"), |
334 ASCIIToUTF16("model name"), | 334 ASCIIToUTF16("model name"), |
335 1000000ULL, now); | 335 1000000ULL, now); |
336 EXPECT_EQ(default_galleries_count() + 1UL, id); | 336 EXPECT_EQ(default_galleries_count() + 1UL, id); |
337 AddGalleryExpectation(id, string16(), info.device_id, relative_path, | 337 AddGalleryExpectation(id, string16(), info.device_id(), relative_path, |
338 MediaGalleryPrefInfo::kAutoDetected); | 338 MediaGalleryPrefInfo::kAutoDetected); |
339 Verify(); | 339 Verify(); |
340 | 340 |
341 MediaGalleryPrefInfo gallery_info; | 341 MediaGalleryPrefInfo gallery_info; |
342 EXPECT_TRUE(gallery_prefs()->LookUpGalleryByPath(MakePath("new_auto"), | 342 EXPECT_TRUE(gallery_prefs()->LookUpGalleryByPath(MakePath("new_auto"), |
343 &gallery_info)); | 343 &gallery_info)); |
344 EXPECT_TRUE(gallery_info.volume_metadata_valid); | 344 EXPECT_TRUE(gallery_info.volume_metadata_valid); |
345 EXPECT_EQ(ASCIIToUTF16("volume label"), gallery_info.volume_label); | 345 EXPECT_EQ(ASCIIToUTF16("volume label"), gallery_info.volume_label); |
346 EXPECT_EQ(ASCIIToUTF16("vendor name"), gallery_info.vendor_name); | 346 EXPECT_EQ(ASCIIToUTF16("vendor name"), gallery_info.vendor_name); |
347 EXPECT_EQ(ASCIIToUTF16("model name"), gallery_info.model_name); | 347 EXPECT_EQ(ASCIIToUTF16("model name"), gallery_info.model_name); |
348 EXPECT_EQ(1000000ULL, gallery_info.total_size_in_bytes); | 348 EXPECT_EQ(1000000ULL, gallery_info.total_size_in_bytes); |
349 // Note: we put the microseconds time into a double, so there'll | 349 // Note: we put the microseconds time into a double, so there'll |
350 // be some possible rounding errors. If it's less than 100, we don't | 350 // be some possible rounding errors. If it's less than 100, we don't |
351 // care. | 351 // care. |
352 EXPECT_LE(abs(now.ToInternalValue() - | 352 EXPECT_LE(abs(now.ToInternalValue() - |
353 gallery_info.last_attach_time.ToInternalValue()), 100); | 353 gallery_info.last_attach_time.ToInternalValue()), 100); |
354 } | 354 } |
355 | 355 |
356 TEST_F(MediaGalleriesPreferencesTest, ReplaceGalleryWithVolumeMetadata) { | 356 TEST_F(MediaGalleriesPreferencesTest, ReplaceGalleryWithVolumeMetadata) { |
357 MediaGalleryPrefId id, metadata_id; | 357 MediaGalleryPrefId id, metadata_id; |
358 base::FilePath path; | 358 base::FilePath path; |
359 StorageInfo info; | 359 StorageInfo info; |
360 base::FilePath relative_path; | 360 base::FilePath relative_path; |
361 base::Time now = base::Time::Now(); | 361 base::Time now = base::Time::Now(); |
362 Verify(); | 362 Verify(); |
363 | 363 |
364 // Add an auto detected gallery in the prefs version 0 format. | 364 // Add an auto detected gallery in the prefs version 0 format. |
365 path = MakePath("new_auto"); | 365 path = MakePath("new_auto"); |
366 MediaStorageUtil::GetDeviceInfoFromPath(path, &info, &relative_path); | 366 MediaStorageUtil::GetDeviceInfoFromPath(path, &info, &relative_path); |
367 info.name = ASCIIToUTF16("NewAutoGallery"); | 367 info.set_name(ASCIIToUTF16("NewAutoGallery")); |
368 id = AddGalleryWithNameV0(info.device_id, info.name, | 368 id = AddGalleryWithNameV0(info.device_id(), info.name(), |
369 relative_path, false /*auto*/); | 369 relative_path, false /*auto*/); |
370 EXPECT_EQ(default_galleries_count() + 1UL, id); | 370 EXPECT_EQ(default_galleries_count() + 1UL, id); |
371 AddGalleryExpectation(id, info.name, info.device_id, relative_path, | 371 AddGalleryExpectation(id, info.name(), info.device_id(), relative_path, |
372 MediaGalleryPrefInfo::kAutoDetected); | 372 MediaGalleryPrefInfo::kAutoDetected); |
373 Verify(); | 373 Verify(); |
374 | 374 |
375 metadata_id = gallery_prefs()->AddGallery(info.device_id, | 375 metadata_id = gallery_prefs()->AddGallery(info.device_id(), |
376 relative_path, | 376 relative_path, |
377 false /*auto*/, | 377 false /*auto*/, |
378 ASCIIToUTF16("volume label"), | 378 ASCIIToUTF16("volume label"), |
379 ASCIIToUTF16("vendor name"), | 379 ASCIIToUTF16("vendor name"), |
380 ASCIIToUTF16("model name"), | 380 ASCIIToUTF16("model name"), |
381 1000000ULL, now); | 381 1000000ULL, now); |
382 EXPECT_EQ(id, metadata_id); | 382 EXPECT_EQ(id, metadata_id); |
383 AddGalleryExpectation(id, string16(), info.device_id, relative_path, | 383 AddGalleryExpectation(id, string16(), info.device_id(), relative_path, |
384 MediaGalleryPrefInfo::kAutoDetected); | 384 MediaGalleryPrefInfo::kAutoDetected); |
385 | 385 |
386 // Make sure the display_name is set to empty now, as the metadata | 386 // Make sure the display_name is set to empty now, as the metadata |
387 // upgrade should set the manual override name empty. | 387 // upgrade should set the manual override name empty. |
388 Verify(); | 388 Verify(); |
389 } | 389 } |
390 | 390 |
391 | 391 |
392 // Whenever a gallery is added, its type is either set to "AutoDetected" or | 392 // Whenever a gallery is added, its type is either set to "AutoDetected" or |
393 // "UserAdded". When the gallery is removed, user added galleries are actually | 393 // "UserAdded". When the gallery is removed, user added galleries are actually |
394 // deleted and the auto detected galleries are moved to black listed state. | 394 // deleted and the auto detected galleries are moved to black listed state. |
395 // When the gallery is added again, the black listed state is updated back to | 395 // When the gallery is added again, the black listed state is updated back to |
396 // "AutoDetected" type. | 396 // "AutoDetected" type. |
397 TEST_F(MediaGalleriesPreferencesTest, UpdateGalleryType) { | 397 TEST_F(MediaGalleriesPreferencesTest, UpdateGalleryType) { |
398 MediaGalleryPrefId auto_id, id; | 398 MediaGalleryPrefId auto_id, id; |
399 base::FilePath path; | 399 base::FilePath path; |
400 StorageInfo info; | 400 StorageInfo info; |
401 base::FilePath relative_path; | 401 base::FilePath relative_path; |
402 Verify(); | 402 Verify(); |
403 | 403 |
404 // Add a new auto detect gallery to test with. | 404 // Add a new auto detect gallery to test with. |
405 path = MakePath("new_auto"); | 405 path = MakePath("new_auto"); |
406 MediaStorageUtil::GetDeviceInfoFromPath(path, &info, &relative_path); | 406 MediaStorageUtil::GetDeviceInfoFromPath(path, &info, &relative_path); |
407 info.name = ASCIIToUTF16("NewAutoGallery"); | 407 info.set_name(ASCIIToUTF16("NewAutoGallery")); |
408 id = gallery_prefs()->AddGalleryWithName(info.device_id, info.name, | 408 id = gallery_prefs()->AddGalleryWithName(info.device_id(), info.name(), |
409 relative_path, false /*auto*/); | 409 relative_path, false /*auto*/); |
410 EXPECT_EQ(default_galleries_count() + 1UL, id); | 410 EXPECT_EQ(default_galleries_count() + 1UL, id); |
411 auto_id = id; | 411 auto_id = id; |
412 AddGalleryExpectation(id, info.name, info.device_id, relative_path, | 412 AddGalleryExpectation(id, info.name(), info.device_id(), relative_path, |
413 MediaGalleryPrefInfo::kAutoDetected); | 413 MediaGalleryPrefInfo::kAutoDetected); |
414 Verify(); | 414 Verify(); |
415 | 415 |
416 // Remove an auto added gallery (i.e. make it blacklisted). | 416 // Remove an auto added gallery (i.e. make it blacklisted). |
417 gallery_prefs()->ForgetGalleryById(auto_id); | 417 gallery_prefs()->ForgetGalleryById(auto_id); |
418 expected_galleries_[auto_id].type = MediaGalleryPrefInfo::kBlackListed; | 418 expected_galleries_[auto_id].type = MediaGalleryPrefInfo::kBlackListed; |
419 expected_galleries_for_all.erase(auto_id); | 419 expected_galleries_for_all.erase(auto_id); |
420 Verify(); | 420 Verify(); |
421 | 421 |
422 // Add the gallery again as a user action. | 422 // Add the gallery again as a user action. |
423 id = gallery_prefs()->AddGalleryByPath(path); | 423 id = gallery_prefs()->AddGalleryByPath(path); |
424 EXPECT_EQ(auto_id, id); | 424 EXPECT_EQ(auto_id, id); |
425 AddGalleryExpectation(id, info.name, info.device_id, relative_path, | 425 AddGalleryExpectation(id, info.name(), info.device_id(), relative_path, |
426 MediaGalleryPrefInfo::kAutoDetected); | 426 MediaGalleryPrefInfo::kAutoDetected); |
427 Verify(); | 427 Verify(); |
428 | 428 |
429 // Remove an auto added gallery (i.e. make it blacklisted). | 429 // Remove an auto added gallery (i.e. make it blacklisted). |
430 gallery_prefs()->ForgetGalleryById(auto_id); | 430 gallery_prefs()->ForgetGalleryById(auto_id); |
431 expected_galleries_[auto_id].type = MediaGalleryPrefInfo::kBlackListed; | 431 expected_galleries_[auto_id].type = MediaGalleryPrefInfo::kBlackListed; |
432 expected_galleries_for_all.erase(auto_id); | 432 expected_galleries_for_all.erase(auto_id); |
433 Verify(); | 433 Verify(); |
434 | 434 |
435 // Try adding the gallery again automatically and it should be a no-op. | 435 // Try adding the gallery again automatically and it should be a no-op. |
436 id = gallery_prefs()->AddGalleryWithName(info.device_id, info.name, | 436 id = gallery_prefs()->AddGalleryWithName(info.device_id(), info.name(), |
437 relative_path, false /*auto*/); | 437 relative_path, false /*auto*/); |
438 EXPECT_EQ(auto_id, id); | 438 EXPECT_EQ(auto_id, id); |
439 Verify(); | 439 Verify(); |
440 } | 440 } |
441 | 441 |
442 TEST_F(MediaGalleriesPreferencesTest, GalleryPermissions) { | 442 TEST_F(MediaGalleriesPreferencesTest, GalleryPermissions) { |
443 MediaGalleryPrefId auto_id, user_added_id, to_blacklist_id, id; | 443 MediaGalleryPrefId auto_id, user_added_id, to_blacklist_id, id; |
444 base::FilePath path; | 444 base::FilePath path; |
445 StorageInfo info; | 445 StorageInfo info; |
446 base::FilePath relative_path; | 446 base::FilePath relative_path; |
447 Verify(); | 447 Verify(); |
448 | 448 |
449 // Add some galleries to test with. | 449 // Add some galleries to test with. |
450 path = MakePath("new_user"); | 450 path = MakePath("new_user"); |
451 MediaStorageUtil::GetDeviceInfoFromPath(path, &info, &relative_path); | 451 MediaStorageUtil::GetDeviceInfoFromPath(path, &info, &relative_path); |
452 info.name = ASCIIToUTF16("NewUserGallery"); | 452 info.set_name(ASCIIToUTF16("NewUserGallery")); |
453 id = gallery_prefs()->AddGalleryWithName(info.device_id, info.name, | 453 id = gallery_prefs()->AddGalleryWithName(info.device_id(), info.name(), |
454 relative_path, true /*user*/); | 454 relative_path, true /*user*/); |
455 EXPECT_EQ(default_galleries_count() + 1UL, id); | 455 EXPECT_EQ(default_galleries_count() + 1UL, id); |
456 user_added_id = id; | 456 user_added_id = id; |
457 AddGalleryExpectation(id, info.name, info.device_id, relative_path, | 457 AddGalleryExpectation(id, info.name(), info.device_id(), relative_path, |
458 MediaGalleryPrefInfo::kUserAdded); | 458 MediaGalleryPrefInfo::kUserAdded); |
459 Verify(); | 459 Verify(); |
460 | 460 |
461 path = MakePath("new_auto"); | 461 path = MakePath("new_auto"); |
462 MediaStorageUtil::GetDeviceInfoFromPath(path, &info, &relative_path); | 462 MediaStorageUtil::GetDeviceInfoFromPath(path, &info, &relative_path); |
463 info.name = ASCIIToUTF16("NewAutoGallery"); | 463 info.set_name(ASCIIToUTF16("NewAutoGallery")); |
464 id = gallery_prefs()->AddGalleryWithName(info.device_id, info.name, | 464 id = gallery_prefs()->AddGalleryWithName(info.device_id(), info.name(), |
465 relative_path, false /*auto*/); | 465 relative_path, false /*auto*/); |
466 EXPECT_EQ(default_galleries_count() + 2UL, id); | 466 EXPECT_EQ(default_galleries_count() + 2UL, id); |
467 auto_id = id; | 467 auto_id = id; |
468 AddGalleryExpectation(id, info.name, info.device_id, relative_path, | 468 AddGalleryExpectation(id, info.name(), info.device_id(), relative_path, |
469 MediaGalleryPrefInfo::kAutoDetected); | 469 MediaGalleryPrefInfo::kAutoDetected); |
470 Verify(); | 470 Verify(); |
471 | 471 |
472 path = MakePath("to_blacklist"); | 472 path = MakePath("to_blacklist"); |
473 MediaStorageUtil::GetDeviceInfoFromPath(path, &info, &relative_path); | 473 MediaStorageUtil::GetDeviceInfoFromPath(path, &info, &relative_path); |
474 info.name = ASCIIToUTF16("ToBlacklistGallery"); | 474 info.set_name(ASCIIToUTF16("ToBlacklistGallery")); |
475 id = gallery_prefs()->AddGalleryWithName(info.device_id, info.name, | 475 id = gallery_prefs()->AddGalleryWithName(info.device_id(), info.name(), |
476 relative_path, false /*auto*/); | 476 relative_path, false /*auto*/); |
477 EXPECT_EQ(default_galleries_count() + 3UL, id); | 477 EXPECT_EQ(default_galleries_count() + 3UL, id); |
478 to_blacklist_id = id; | 478 to_blacklist_id = id; |
479 AddGalleryExpectation(id, info.name, info.device_id, relative_path, | 479 AddGalleryExpectation(id, info.name(), info.device_id(), relative_path, |
480 MediaGalleryPrefInfo::kAutoDetected); | 480 MediaGalleryPrefInfo::kAutoDetected); |
481 Verify(); | 481 Verify(); |
482 | 482 |
483 // Remove permission for all galleries from the all-permission extension. | 483 // Remove permission for all galleries from the all-permission extension. |
484 gallery_prefs()->SetGalleryPermissionForExtension( | 484 gallery_prefs()->SetGalleryPermissionForExtension( |
485 *all_permission_extension.get(), auto_id, false); | 485 *all_permission_extension.get(), auto_id, false); |
486 expected_galleries_for_all.erase(auto_id); | 486 expected_galleries_for_all.erase(auto_id); |
487 Verify(); | 487 Verify(); |
488 | 488 |
489 gallery_prefs()->SetGalleryPermissionForExtension( | 489 gallery_prefs()->SetGalleryPermissionForExtension( |
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
560 TEST_F(MediaGalleriesPreferencesTest, UpdateGalleryDetails) { | 560 TEST_F(MediaGalleriesPreferencesTest, UpdateGalleryDetails) { |
561 MediaGalleryPrefId auto_id, id; | 561 MediaGalleryPrefId auto_id, id; |
562 base::FilePath path; | 562 base::FilePath path; |
563 StorageInfo info; | 563 StorageInfo info; |
564 base::FilePath relative_path; | 564 base::FilePath relative_path; |
565 Verify(); | 565 Verify(); |
566 | 566 |
567 // Add a new auto detect gallery to test with. | 567 // Add a new auto detect gallery to test with. |
568 path = MakePath("new_auto"); | 568 path = MakePath("new_auto"); |
569 MediaStorageUtil::GetDeviceInfoFromPath(path, &info, &relative_path); | 569 MediaStorageUtil::GetDeviceInfoFromPath(path, &info, &relative_path); |
570 info.name = ASCIIToUTF16("NewAutoGallery"); | 570 info.set_name(ASCIIToUTF16("NewAutoGallery")); |
571 id = gallery_prefs()->AddGalleryWithName(info.device_id, info.name, | 571 id = gallery_prefs()->AddGalleryWithName(info.device_id(), info.name(), |
572 relative_path, false /*auto*/); | 572 relative_path, false /*auto*/); |
573 EXPECT_EQ(default_galleries_count() + 1UL, id); | 573 EXPECT_EQ(default_galleries_count() + 1UL, id); |
574 auto_id = id; | 574 auto_id = id; |
575 AddGalleryExpectation(id, info.name, info.device_id, relative_path, | 575 AddGalleryExpectation(id, info.name(), info.device_id(), relative_path, |
576 MediaGalleryPrefInfo::kAutoDetected); | 576 MediaGalleryPrefInfo::kAutoDetected); |
577 Verify(); | 577 Verify(); |
578 | 578 |
579 // Update the device name and add the gallery again. | 579 // Update the device name and add the gallery again. |
580 info.name = ASCIIToUTF16("AutoGallery2"); | 580 info.set_name(ASCIIToUTF16("AutoGallery2")); |
581 id = gallery_prefs()->AddGalleryWithName(info.device_id, info.name, | 581 id = gallery_prefs()->AddGalleryWithName(info.device_id(), info.name(), |
582 relative_path, false /*auto*/); | 582 relative_path, false /*auto*/); |
583 EXPECT_EQ(auto_id, id); | 583 EXPECT_EQ(auto_id, id); |
584 AddGalleryExpectation(id, info.name, info.device_id, relative_path, | 584 AddGalleryExpectation(id, info.name(), info.device_id(), relative_path, |
585 MediaGalleryPrefInfo::kAutoDetected); | 585 MediaGalleryPrefInfo::kAutoDetected); |
586 Verify(); | 586 Verify(); |
587 } | 587 } |
588 | 588 |
589 TEST_F(MediaGalleriesPreferencesTest, MultipleGalleriesPerDevices) { | 589 TEST_F(MediaGalleriesPreferencesTest, MultipleGalleriesPerDevices) { |
590 base::FilePath path; | 590 base::FilePath path; |
591 StorageInfo info; | 591 StorageInfo info; |
592 base::FilePath relative_path; | 592 base::FilePath relative_path; |
593 Verify(); | 593 Verify(); |
594 | 594 |
595 // Add a regular gallery | 595 // Add a regular gallery |
596 path = MakePath("new_user"); | 596 path = MakePath("new_user"); |
597 MediaStorageUtil::GetDeviceInfoFromPath(path, &info, &relative_path); | 597 MediaStorageUtil::GetDeviceInfoFromPath(path, &info, &relative_path); |
598 info.name = ASCIIToUTF16("NewUserGallery"); | 598 info.set_name(ASCIIToUTF16("NewUserGallery")); |
599 MediaGalleryPrefId user_added_id = | 599 MediaGalleryPrefId user_added_id = |
600 gallery_prefs()->AddGalleryWithName(info.device_id, info.name, | 600 gallery_prefs()->AddGalleryWithName(info.device_id(), info.name(), |
601 relative_path, | 601 relative_path, |
602 true /*user*/); | 602 true /*user*/); |
603 EXPECT_EQ(default_galleries_count() + 1UL, user_added_id); | 603 EXPECT_EQ(default_galleries_count() + 1UL, user_added_id); |
604 AddGalleryExpectation(user_added_id, info.name, info.device_id, | 604 AddGalleryExpectation(user_added_id, info.name(), info.device_id(), |
605 relative_path, MediaGalleryPrefInfo::kUserAdded); | 605 relative_path, MediaGalleryPrefInfo::kUserAdded); |
606 Verify(); | 606 Verify(); |
607 | 607 |
608 // Find it by device id and fail to find something related. | 608 // Find it by device id and fail to find something related. |
609 MediaGalleryPrefIdSet pref_id_set; | 609 MediaGalleryPrefIdSet pref_id_set; |
610 pref_id_set = gallery_prefs()->LookUpGalleriesByDeviceId(info.device_id); | 610 pref_id_set = gallery_prefs()->LookUpGalleriesByDeviceId(info.device_id()); |
611 EXPECT_EQ(1U, pref_id_set.size()); | 611 EXPECT_EQ(1U, pref_id_set.size()); |
612 EXPECT_TRUE(pref_id_set.find(user_added_id) != pref_id_set.end()); | 612 EXPECT_TRUE(pref_id_set.find(user_added_id) != pref_id_set.end()); |
613 | 613 |
614 MediaStorageUtil::GetDeviceInfoFromPath(MakePath("new_user/foo"), &info, | 614 MediaStorageUtil::GetDeviceInfoFromPath(MakePath("new_user/foo"), &info, |
615 &relative_path); | 615 &relative_path); |
616 pref_id_set = gallery_prefs()->LookUpGalleriesByDeviceId(info.device_id); | 616 pref_id_set = gallery_prefs()->LookUpGalleriesByDeviceId(info.device_id()); |
617 EXPECT_EQ(0U, pref_id_set.size()); | 617 EXPECT_EQ(0U, pref_id_set.size()); |
618 | 618 |
619 // Add some galleries on the same device. | 619 // Add some galleries on the same device. |
620 relative_path = base::FilePath(FILE_PATH_LITERAL("path1/on/device1")); | 620 relative_path = base::FilePath(FILE_PATH_LITERAL("path1/on/device1")); |
621 info.name = ASCIIToUTF16("Device1Path1"); | 621 info.set_name(ASCIIToUTF16("Device1Path1")); |
622 std::string device_id = "path:device1"; | 622 std::string device_id = "path:device1"; |
623 MediaGalleryPrefId dev1_path1_id = gallery_prefs()->AddGalleryWithName( | 623 MediaGalleryPrefId dev1_path1_id = gallery_prefs()->AddGalleryWithName( |
624 device_id, info.name, relative_path, true /*user*/); | 624 device_id, info.name(), relative_path, true /*user*/); |
625 EXPECT_EQ(default_galleries_count() + 2UL, dev1_path1_id); | 625 EXPECT_EQ(default_galleries_count() + 2UL, dev1_path1_id); |
626 AddGalleryExpectation(dev1_path1_id, info.name, device_id, relative_path, | 626 AddGalleryExpectation(dev1_path1_id, info.name(), device_id, relative_path, |
627 MediaGalleryPrefInfo::kUserAdded); | 627 MediaGalleryPrefInfo::kUserAdded); |
628 Verify(); | 628 Verify(); |
629 | 629 |
630 relative_path = base::FilePath(FILE_PATH_LITERAL("path2/on/device1")); | 630 relative_path = base::FilePath(FILE_PATH_LITERAL("path2/on/device1")); |
631 info.name = ASCIIToUTF16("Device1Path2"); | 631 info.set_name(ASCIIToUTF16("Device1Path2")); |
632 MediaGalleryPrefId dev1_path2_id = gallery_prefs()->AddGalleryWithName( | 632 MediaGalleryPrefId dev1_path2_id = gallery_prefs()->AddGalleryWithName( |
633 device_id, info.name, relative_path, true /*user*/); | 633 device_id, info.name(), relative_path, true /*user*/); |
634 EXPECT_EQ(default_galleries_count() + 3UL, dev1_path2_id); | 634 EXPECT_EQ(default_galleries_count() + 3UL, dev1_path2_id); |
635 AddGalleryExpectation(dev1_path2_id, info.name, device_id, relative_path, | 635 AddGalleryExpectation(dev1_path2_id, info.name(), device_id, relative_path, |
636 MediaGalleryPrefInfo::kUserAdded); | 636 MediaGalleryPrefInfo::kUserAdded); |
637 Verify(); | 637 Verify(); |
638 | 638 |
639 relative_path = base::FilePath(FILE_PATH_LITERAL("path1/on/device2")); | 639 relative_path = base::FilePath(FILE_PATH_LITERAL("path1/on/device2")); |
640 info.name = ASCIIToUTF16("Device2Path1"); | 640 info.set_name(ASCIIToUTF16("Device2Path1")); |
641 device_id = "path:device2"; | 641 device_id = "path:device2"; |
642 MediaGalleryPrefId dev2_path1_id = gallery_prefs()->AddGalleryWithName( | 642 MediaGalleryPrefId dev2_path1_id = gallery_prefs()->AddGalleryWithName( |
643 device_id, info.name, relative_path, true /*user*/); | 643 device_id, info.name(), relative_path, true /*user*/); |
644 EXPECT_EQ(default_galleries_count() + 4UL, dev2_path1_id); | 644 EXPECT_EQ(default_galleries_count() + 4UL, dev2_path1_id); |
645 AddGalleryExpectation(dev2_path1_id, info.name, device_id, relative_path, | 645 AddGalleryExpectation(dev2_path1_id, info.name(), device_id, relative_path, |
646 MediaGalleryPrefInfo::kUserAdded); | 646 MediaGalleryPrefInfo::kUserAdded); |
647 Verify(); | 647 Verify(); |
648 | 648 |
649 relative_path = base::FilePath(FILE_PATH_LITERAL("path2/on/device2")); | 649 relative_path = base::FilePath(FILE_PATH_LITERAL("path2/on/device2")); |
650 info.name = ASCIIToUTF16("Device2Path2"); | 650 info.set_name(ASCIIToUTF16("Device2Path2")); |
651 MediaGalleryPrefId dev2_path2_id = gallery_prefs()->AddGalleryWithName( | 651 MediaGalleryPrefId dev2_path2_id = gallery_prefs()->AddGalleryWithName( |
652 device_id, info.name, relative_path, true /*user*/); | 652 device_id, info.name(), relative_path, true /*user*/); |
653 EXPECT_EQ(default_galleries_count() + 5UL, dev2_path2_id); | 653 EXPECT_EQ(default_galleries_count() + 5UL, dev2_path2_id); |
654 AddGalleryExpectation(dev2_path2_id, info.name, device_id, relative_path, | 654 AddGalleryExpectation(dev2_path2_id, info.name(), device_id, relative_path, |
655 MediaGalleryPrefInfo::kUserAdded); | 655 MediaGalleryPrefInfo::kUserAdded); |
656 Verify(); | 656 Verify(); |
657 | 657 |
658 // Check that adding one of them again works as expected. | 658 // Check that adding one of them again works as expected. |
659 MediaGalleryPrefId id = gallery_prefs()->AddGalleryWithName( | 659 MediaGalleryPrefId id = gallery_prefs()->AddGalleryWithName( |
660 device_id, info.name, relative_path, true /*user*/); | 660 device_id, info.name(), relative_path, true /*user*/); |
661 EXPECT_EQ(dev2_path2_id, id); | 661 EXPECT_EQ(dev2_path2_id, id); |
662 Verify(); | 662 Verify(); |
663 } | 663 } |
664 | 664 |
665 TEST_F(MediaGalleriesPreferencesTest, GalleryChangeObserver) { | 665 TEST_F(MediaGalleriesPreferencesTest, GalleryChangeObserver) { |
666 // Start with one observer. | 666 // Start with one observer. |
667 MockGalleryChangeObserver observer1(gallery_prefs()); | 667 MockGalleryChangeObserver observer1(gallery_prefs()); |
668 gallery_prefs()->AddGalleryChangeObserver(&observer1); | 668 gallery_prefs()->AddGalleryChangeObserver(&observer1); |
669 | 669 |
670 // Add a new auto detected gallery. | 670 // Add a new auto detected gallery. |
671 base::FilePath path = MakePath("new_auto"); | 671 base::FilePath path = MakePath("new_auto"); |
672 StorageInfo info; | 672 StorageInfo info; |
673 base::FilePath relative_path; | 673 base::FilePath relative_path; |
674 MediaStorageUtil::GetDeviceInfoFromPath(path, &info, &relative_path); | 674 MediaStorageUtil::GetDeviceInfoFromPath(path, &info, &relative_path); |
675 info.name = ASCIIToUTF16("NewAutoGallery"); | 675 info.set_name(ASCIIToUTF16("NewAutoGallery")); |
676 MediaGalleryPrefId auto_id = | 676 MediaGalleryPrefId auto_id = |
677 gallery_prefs()->AddGalleryWithName(info.device_id, info.name, | 677 gallery_prefs()->AddGalleryWithName(info.device_id(), info.name(), |
678 relative_path, false /*auto*/); | 678 relative_path, false /*auto*/); |
679 EXPECT_EQ(default_galleries_count() + 1UL, auto_id); | 679 EXPECT_EQ(default_galleries_count() + 1UL, auto_id); |
680 AddGalleryExpectation(auto_id, info.name, info.device_id, | 680 AddGalleryExpectation(auto_id, info.name(), info.device_id(), |
681 relative_path, MediaGalleryPrefInfo::kAutoDetected); | 681 relative_path, MediaGalleryPrefInfo::kAutoDetected); |
682 EXPECT_EQ(1, observer1.notifications()); | 682 EXPECT_EQ(1, observer1.notifications()); |
683 | 683 |
684 // Add a second observer. | 684 // Add a second observer. |
685 MockGalleryChangeObserver observer2(gallery_prefs()); | 685 MockGalleryChangeObserver observer2(gallery_prefs()); |
686 gallery_prefs()->AddGalleryChangeObserver(&observer2); | 686 gallery_prefs()->AddGalleryChangeObserver(&observer2); |
687 | 687 |
688 // Add a new user added gallery. | 688 // Add a new user added gallery. |
689 path = MakePath("new_user"); | 689 path = MakePath("new_user"); |
690 MediaStorageUtil::GetDeviceInfoFromPath(path, &info, &relative_path); | 690 MediaStorageUtil::GetDeviceInfoFromPath(path, &info, &relative_path); |
691 info.name = ASCIIToUTF16("NewUserGallery"); | 691 info.set_name(ASCIIToUTF16("NewUserGallery")); |
692 MediaGalleryPrefId user_added_id = | 692 MediaGalleryPrefId user_added_id = |
693 gallery_prefs()->AddGalleryWithName(info.device_id, info.name, | 693 gallery_prefs()->AddGalleryWithName(info.device_id(), info.name(), |
694 relative_path, true /*user*/); | 694 relative_path, true /*user*/); |
695 AddGalleryExpectation(user_added_id, info.name, info.device_id, | 695 AddGalleryExpectation(user_added_id, info.name(), info.device_id(), |
696 relative_path, MediaGalleryPrefInfo::kUserAdded); | 696 relative_path, MediaGalleryPrefInfo::kUserAdded); |
697 EXPECT_EQ(default_galleries_count() + 2UL, user_added_id); | 697 EXPECT_EQ(default_galleries_count() + 2UL, user_added_id); |
698 EXPECT_EQ(2, observer1.notifications()); | 698 EXPECT_EQ(2, observer1.notifications()); |
699 EXPECT_EQ(1, observer2.notifications()); | 699 EXPECT_EQ(1, observer2.notifications()); |
700 | 700 |
701 // Remove the first observer. | 701 // Remove the first observer. |
702 gallery_prefs()->RemoveGalleryChangeObserver(&observer1); | 702 gallery_prefs()->RemoveGalleryChangeObserver(&observer1); |
703 | 703 |
704 // Remove an auto added gallery (i.e. make it blacklisted). | 704 // Remove an auto added gallery (i.e. make it blacklisted). |
705 gallery_prefs()->ForgetGalleryById(auto_id); | 705 gallery_prefs()->ForgetGalleryById(auto_id); |
706 expected_galleries_[auto_id].type = MediaGalleryPrefInfo::kBlackListed; | 706 expected_galleries_[auto_id].type = MediaGalleryPrefInfo::kBlackListed; |
707 expected_galleries_for_all.erase(auto_id); | 707 expected_galleries_for_all.erase(auto_id); |
708 | 708 |
709 EXPECT_EQ(2, observer1.notifications()); | 709 EXPECT_EQ(2, observer1.notifications()); |
710 EXPECT_EQ(2, observer2.notifications()); | 710 EXPECT_EQ(2, observer2.notifications()); |
711 | 711 |
712 // Remove a user added gallery and it should go away. | 712 // Remove a user added gallery and it should go away. |
713 gallery_prefs()->ForgetGalleryById(user_added_id); | 713 gallery_prefs()->ForgetGalleryById(user_added_id); |
714 expected_galleries_.erase(user_added_id); | 714 expected_galleries_.erase(user_added_id); |
715 expected_device_map[info.device_id].erase(user_added_id); | 715 expected_device_map[info.device_id()].erase(user_added_id); |
716 | 716 |
717 EXPECT_EQ(2, observer1.notifications()); | 717 EXPECT_EQ(2, observer1.notifications()); |
718 EXPECT_EQ(3, observer2.notifications()); | 718 EXPECT_EQ(3, observer2.notifications()); |
719 } | 719 } |
720 | 720 |
721 } // namespace chrome | 721 } // namespace chrome |
OLD | NEW |