| 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 155 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 166 } | 166 } |
| 167 | 167 |
| 168 MediaGalleriesPreferences* gallery_prefs() { | 168 MediaGalleriesPreferences* gallery_prefs() { |
| 169 return gallery_prefs_.get(); | 169 return gallery_prefs_.get(); |
| 170 } | 170 } |
| 171 | 171 |
| 172 uint64 default_galleries_count() { | 172 uint64 default_galleries_count() { |
| 173 return default_galleries_count_; | 173 return default_galleries_count_; |
| 174 } | 174 } |
| 175 | 175 |
| 176 void AddGalleryExpectation(MediaGalleryPrefId id, string16 display_name, | 176 void AddGalleryExpectation(MediaGalleryPrefId id, |
| 177 const string16& display_name, |
| 177 std::string device_id, | 178 std::string device_id, |
| 178 base::FilePath relative_path, | 179 base::FilePath relative_path, |
| 179 MediaGalleryPrefInfo::Type type) { | 180 MediaGalleryPrefInfo::Type type) { |
| 180 expected_galleries_[id].pref_id = id; | 181 expected_galleries_[id].pref_id = id; |
| 181 expected_galleries_[id].display_name = display_name; | 182 expected_galleries_[id].display_name = display_name; |
| 182 expected_galleries_[id].device_id = device_id; | 183 expected_galleries_[id].device_id = device_id; |
| 183 expected_galleries_[id].path = relative_path.NormalizePathSeparators(); | 184 expected_galleries_[id].path = relative_path.NormalizePathSeparators(); |
| 184 expected_galleries_[id].type = type; | 185 expected_galleries_[id].type = type; |
| 185 | 186 |
| 186 if (type == MediaGalleryPrefInfo::kAutoDetected) | 187 if (type == MediaGalleryPrefInfo::kAutoDetected) |
| (...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 263 TEST_F(MediaGalleriesPreferencesTest, GalleryManagement) { | 264 TEST_F(MediaGalleriesPreferencesTest, GalleryManagement) { |
| 264 MediaGalleryPrefId auto_id, user_added_id, id; | 265 MediaGalleryPrefId auto_id, user_added_id, id; |
| 265 base::FilePath path; | 266 base::FilePath path; |
| 266 base::FilePath relative_path; | 267 base::FilePath relative_path; |
| 267 Verify(); | 268 Verify(); |
| 268 | 269 |
| 269 // Add a new auto detected gallery. | 270 // Add a new auto detected gallery. |
| 270 path = MakePath("new_auto"); | 271 path = MakePath("new_auto"); |
| 271 StorageInfo info; | 272 StorageInfo info; |
| 272 MediaStorageUtil::GetDeviceInfoFromPath(path, &info, &relative_path); | 273 MediaStorageUtil::GetDeviceInfoFromPath(path, &info, &relative_path); |
| 273 info.set_name(ASCIIToUTF16("NewAutoGallery")); | 274 base::string16 gallery_name = base::ASCIIToUTF16("NewAutoGallery"); |
| 274 id = AddGalleryWithNameV1(info.device_id(), info.name(), | 275 id = AddGalleryWithNameV1(info.device_id(), gallery_name, relative_path, |
| 275 relative_path, false /*auto*/); | 276 false /*auto*/); |
| 276 EXPECT_EQ(default_galleries_count() + 1UL, id); | 277 EXPECT_EQ(default_galleries_count() + 1UL, id); |
| 277 auto_id = id; | 278 auto_id = id; |
| 278 AddGalleryExpectation(id, info.name(), info.device_id(), relative_path, | 279 AddGalleryExpectation(id, gallery_name, info.device_id(), relative_path, |
| 279 MediaGalleryPrefInfo::kAutoDetected); | 280 MediaGalleryPrefInfo::kAutoDetected); |
| 280 Verify(); | 281 Verify(); |
| 281 | 282 |
| 282 // Add it again (as user), nothing should happen. | 283 // Add it again (as user), nothing should happen. |
| 283 id = AddGalleryWithNameV1(info.device_id(), info.name(), | 284 id = AddGalleryWithNameV1(info.device_id(), gallery_name, relative_path, |
| 284 relative_path, true /*auto*/); | 285 true /*auto*/); |
| 285 EXPECT_EQ(auto_id, id); | 286 EXPECT_EQ(auto_id, id); |
| 286 Verify(); | 287 Verify(); |
| 287 | 288 |
| 288 // Add a new user added gallery. | 289 // Add a new user added gallery. |
| 289 path = MakePath("new_user"); | 290 path = MakePath("new_user"); |
| 290 MediaStorageUtil::GetDeviceInfoFromPath(path, &info, &relative_path); | 291 MediaStorageUtil::GetDeviceInfoFromPath(path, &info, &relative_path); |
| 291 info.set_name(ASCIIToUTF16("NewUserGallery")); | 292 gallery_name = base::ASCIIToUTF16("NewUserGallery"); |
| 292 id = AddGalleryWithNameV1(info.device_id(), info.name(), | 293 id = AddGalleryWithNameV1(info.device_id(), gallery_name, relative_path, |
| 293 relative_path, true /*user*/); | 294 true /*user*/); |
| 294 EXPECT_EQ(default_galleries_count() + 2UL, id); | 295 EXPECT_EQ(default_galleries_count() + 2UL, id); |
| 295 user_added_id = id; | 296 user_added_id = id; |
| 296 AddGalleryExpectation(id, info.name(), info.device_id(), relative_path, | 297 AddGalleryExpectation(id, gallery_name, info.device_id(), relative_path, |
| 297 MediaGalleryPrefInfo::kUserAdded); | 298 MediaGalleryPrefInfo::kUserAdded); |
| 298 Verify(); | 299 Verify(); |
| 299 | 300 |
| 300 // Lookup some galleries. | 301 // Lookup some galleries. |
| 301 EXPECT_TRUE(gallery_prefs()->LookUpGalleryByPath(MakePath("new_auto"), NULL)); | 302 EXPECT_TRUE(gallery_prefs()->LookUpGalleryByPath(MakePath("new_auto"), NULL)); |
| 302 EXPECT_TRUE(gallery_prefs()->LookUpGalleryByPath(MakePath("new_user"), NULL)); | 303 EXPECT_TRUE(gallery_prefs()->LookUpGalleryByPath(MakePath("new_user"), NULL)); |
| 303 EXPECT_FALSE(gallery_prefs()->LookUpGalleryByPath(MakePath("other"), NULL)); | 304 EXPECT_FALSE(gallery_prefs()->LookUpGalleryByPath(MakePath("other"), NULL)); |
| 304 | 305 |
| 305 // Check that we always get the gallery info. | 306 // Check that we always get the gallery info. |
| 306 MediaGalleryPrefInfo gallery_info; | 307 MediaGalleryPrefInfo gallery_info; |
| (...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 376 MediaGalleryPrefId id, metadata_id; | 377 MediaGalleryPrefId id, metadata_id; |
| 377 base::FilePath path; | 378 base::FilePath path; |
| 378 StorageInfo info; | 379 StorageInfo info; |
| 379 base::FilePath relative_path; | 380 base::FilePath relative_path; |
| 380 base::Time now = base::Time::Now(); | 381 base::Time now = base::Time::Now(); |
| 381 Verify(); | 382 Verify(); |
| 382 | 383 |
| 383 // Add an auto detected gallery in the prefs version 0 format. | 384 // Add an auto detected gallery in the prefs version 0 format. |
| 384 path = MakePath("new_auto"); | 385 path = MakePath("new_auto"); |
| 385 MediaStorageUtil::GetDeviceInfoFromPath(path, &info, &relative_path); | 386 MediaStorageUtil::GetDeviceInfoFromPath(path, &info, &relative_path); |
| 386 info.set_name(ASCIIToUTF16("NewAutoGallery")); | 387 base::string16 gallery_name = base::ASCIIToUTF16("NewAutoGallery"); |
| 387 id = AddGalleryWithNameV0(info.device_id(), info.name(), | 388 id = AddGalleryWithNameV0(info.device_id(), gallery_name, relative_path, |
| 388 relative_path, false /*auto*/); | 389 false /*auto*/); |
| 389 EXPECT_EQ(default_galleries_count() + 1UL, id); | 390 EXPECT_EQ(default_galleries_count() + 1UL, id); |
| 390 AddGalleryExpectation(id, info.name(), info.device_id(), relative_path, | 391 AddGalleryExpectation(id, gallery_name, info.device_id(), relative_path, |
| 391 MediaGalleryPrefInfo::kAutoDetected); | 392 MediaGalleryPrefInfo::kAutoDetected); |
| 392 Verify(); | 393 Verify(); |
| 393 | 394 |
| 394 metadata_id = gallery_prefs()->AddGallery(info.device_id(), | 395 metadata_id = gallery_prefs()->AddGallery(info.device_id(), |
| 395 relative_path, | 396 relative_path, |
| 396 false /*auto*/, | 397 false /*auto*/, |
| 397 ASCIIToUTF16("volume label"), | 398 ASCIIToUTF16("volume label"), |
| 398 ASCIIToUTF16("vendor name"), | 399 ASCIIToUTF16("vendor name"), |
| 399 ASCIIToUTF16("model name"), | 400 ASCIIToUTF16("model name"), |
| 400 1000000ULL, now); | 401 1000000ULL, now); |
| (...skipping 15 matching lines...) Expand all Loading... |
| 416 TEST_F(MediaGalleriesPreferencesTest, UpdateGalleryType) { | 417 TEST_F(MediaGalleriesPreferencesTest, UpdateGalleryType) { |
| 417 MediaGalleryPrefId auto_id, id; | 418 MediaGalleryPrefId auto_id, id; |
| 418 base::FilePath path; | 419 base::FilePath path; |
| 419 StorageInfo info; | 420 StorageInfo info; |
| 420 base::FilePath relative_path; | 421 base::FilePath relative_path; |
| 421 Verify(); | 422 Verify(); |
| 422 | 423 |
| 423 // Add a new auto detect gallery to test with. | 424 // Add a new auto detect gallery to test with. |
| 424 path = MakePath("new_auto"); | 425 path = MakePath("new_auto"); |
| 425 MediaStorageUtil::GetDeviceInfoFromPath(path, &info, &relative_path); | 426 MediaStorageUtil::GetDeviceInfoFromPath(path, &info, &relative_path); |
| 426 info.set_name(ASCIIToUTF16("NewAutoGallery")); | 427 base::string16 gallery_name = base::ASCIIToUTF16("NewAutoGallery"); |
| 427 id = AddGalleryWithNameV1(info.device_id(), info.name(), | 428 id = AddGalleryWithNameV1(info.device_id(), gallery_name, relative_path, |
| 428 relative_path, false /*auto*/); | 429 false /*auto*/); |
| 429 EXPECT_EQ(default_galleries_count() + 1UL, id); | 430 EXPECT_EQ(default_galleries_count() + 1UL, id); |
| 430 auto_id = id; | 431 auto_id = id; |
| 431 AddGalleryExpectation(id, info.name(), info.device_id(), relative_path, | 432 AddGalleryExpectation(id, gallery_name, info.device_id(), relative_path, |
| 432 MediaGalleryPrefInfo::kAutoDetected); | 433 MediaGalleryPrefInfo::kAutoDetected); |
| 433 Verify(); | 434 Verify(); |
| 434 | 435 |
| 435 // Remove an auto added gallery (i.e. make it blacklisted). | 436 // Remove an auto added gallery (i.e. make it blacklisted). |
| 436 gallery_prefs()->ForgetGalleryById(auto_id); | 437 gallery_prefs()->ForgetGalleryById(auto_id); |
| 437 expected_galleries_[auto_id].type = MediaGalleryPrefInfo::kBlackListed; | 438 expected_galleries_[auto_id].type = MediaGalleryPrefInfo::kBlackListed; |
| 438 expected_galleries_for_all.erase(auto_id); | 439 expected_galleries_for_all.erase(auto_id); |
| 439 Verify(); | 440 Verify(); |
| 440 | 441 |
| 441 // Add the gallery again as a user action. | 442 // Add the gallery again as a user action. |
| 442 id = gallery_prefs()->AddGalleryByPath(path); | 443 id = gallery_prefs()->AddGalleryByPath(path); |
| 443 EXPECT_EQ(auto_id, id); | 444 EXPECT_EQ(auto_id, id); |
| 444 AddGalleryExpectation(id, info.name(), info.device_id(), relative_path, | 445 AddGalleryExpectation(id, gallery_name, info.device_id(), relative_path, |
| 445 MediaGalleryPrefInfo::kAutoDetected); | 446 MediaGalleryPrefInfo::kAutoDetected); |
| 446 Verify(); | 447 Verify(); |
| 447 | 448 |
| 448 // Remove an auto added gallery (i.e. make it blacklisted). | 449 // Remove an auto added gallery (i.e. make it blacklisted). |
| 449 gallery_prefs()->ForgetGalleryById(auto_id); | 450 gallery_prefs()->ForgetGalleryById(auto_id); |
| 450 expected_galleries_[auto_id].type = MediaGalleryPrefInfo::kBlackListed; | 451 expected_galleries_[auto_id].type = MediaGalleryPrefInfo::kBlackListed; |
| 451 expected_galleries_for_all.erase(auto_id); | 452 expected_galleries_for_all.erase(auto_id); |
| 452 Verify(); | 453 Verify(); |
| 453 | 454 |
| 454 // Try adding the gallery again automatically and it should be a no-op. | 455 // Try adding the gallery again automatically and it should be a no-op. |
| 455 id = AddGalleryWithNameV1(info.device_id(), info.name(), | 456 id = AddGalleryWithNameV1(info.device_id(), gallery_name, relative_path, |
| 456 relative_path, false /*auto*/); | 457 false /*auto*/); |
| 457 EXPECT_EQ(auto_id, id); | 458 EXPECT_EQ(auto_id, id); |
| 458 Verify(); | 459 Verify(); |
| 459 } | 460 } |
| 460 | 461 |
| 461 TEST_F(MediaGalleriesPreferencesTest, UpdateGalleryNameV2) { | 462 TEST_F(MediaGalleriesPreferencesTest, UpdateGalleryNameV2) { |
| 462 // Add a new auto detect gallery to test with. | 463 // Add a new auto detect gallery to test with. |
| 463 base::FilePath path = MakePath("new_auto"); | 464 base::FilePath path = MakePath("new_auto"); |
| 464 StorageInfo info; | 465 StorageInfo info; |
| 465 base::FilePath relative_path; | 466 base::FilePath relative_path; |
| 466 MediaStorageUtil::GetDeviceInfoFromPath(path, &info, &relative_path); | 467 MediaStorageUtil::GetDeviceInfoFromPath(path, &info, &relative_path); |
| 467 info.set_name(ASCIIToUTF16("NewAutoGallery")); | 468 base::string16 gallery_name = base::ASCIIToUTF16("NewAutoGallery"); |
| 468 MediaGalleryPrefId id = | 469 MediaGalleryPrefId id = AddGalleryWithNameV2(info.device_id(), gallery_name, |
| 469 AddGalleryWithNameV2(info.device_id(), info.name(), | 470 relative_path, false /*auto*/); |
| 470 relative_path, false /*auto*/); | 471 AddGalleryExpectation(id, gallery_name, info.device_id(), relative_path, |
| 471 AddGalleryExpectation(id, info.name(), info.device_id(), relative_path, | |
| 472 MediaGalleryPrefInfo::kAutoDetected); | 472 MediaGalleryPrefInfo::kAutoDetected); |
| 473 Verify(); | 473 Verify(); |
| 474 | 474 |
| 475 // Won't override the name -- don't change any expectation. | 475 // Won't override the name -- don't change any expectation. |
| 476 info.set_name(string16()); | 476 gallery_name = base::string16(); |
| 477 AddGalleryWithNameV2(info.device_id(), info.name(), relative_path, false); | 477 AddGalleryWithNameV2(info.device_id(), gallery_name, relative_path, false); |
| 478 Verify(); | 478 Verify(); |
| 479 | 479 |
| 480 info.set_name(ASCIIToUTF16("NewName")); | 480 gallery_name = base::ASCIIToUTF16("NewName"); |
| 481 id = AddGalleryWithNameV2(info.device_id(), info.name(), | 481 id = AddGalleryWithNameV2(info.device_id(), gallery_name, relative_path, |
| 482 relative_path, false); | 482 false); |
| 483 // Note: will really just update the existing expectation. | 483 // Note: will really just update the existing expectation. |
| 484 AddGalleryExpectation(id, info.name(), info.device_id(), relative_path, | 484 AddGalleryExpectation(id, gallery_name, info.device_id(), relative_path, |
| 485 MediaGalleryPrefInfo::kAutoDetected); | 485 MediaGalleryPrefInfo::kAutoDetected); |
| 486 Verify(); | 486 Verify(); |
| 487 } | 487 } |
| 488 | 488 |
| 489 TEST_F(MediaGalleriesPreferencesTest, GalleryPermissions) { | 489 TEST_F(MediaGalleriesPreferencesTest, GalleryPermissions) { |
| 490 MediaGalleryPrefId auto_id, user_added_id, to_blacklist_id, id; | 490 MediaGalleryPrefId auto_id, user_added_id, to_blacklist_id, id; |
| 491 base::FilePath path; | 491 base::FilePath path; |
| 492 StorageInfo info; | 492 StorageInfo info; |
| 493 base::FilePath relative_path; | 493 base::FilePath relative_path; |
| 494 Verify(); | 494 Verify(); |
| 495 | 495 |
| 496 // Add some galleries to test with. | 496 // Add some galleries to test with. |
| 497 path = MakePath("new_user"); | 497 path = MakePath("new_user"); |
| 498 MediaStorageUtil::GetDeviceInfoFromPath(path, &info, &relative_path); | 498 MediaStorageUtil::GetDeviceInfoFromPath(path, &info, &relative_path); |
| 499 info.set_name(ASCIIToUTF16("NewUserGallery")); | 499 base::string16 gallery_name = base::ASCIIToUTF16("NewUserGallery"); |
| 500 id = AddGalleryWithNameV1(info.device_id(), info.name(), | 500 id = AddGalleryWithNameV1(info.device_id(), gallery_name, relative_path, |
| 501 relative_path, true /*user*/); | 501 true /*user*/); |
| 502 EXPECT_EQ(default_galleries_count() + 1UL, id); | 502 EXPECT_EQ(default_galleries_count() + 1UL, id); |
| 503 user_added_id = id; | 503 user_added_id = id; |
| 504 AddGalleryExpectation(id, info.name(), info.device_id(), relative_path, | 504 AddGalleryExpectation(id, gallery_name, info.device_id(), relative_path, |
| 505 MediaGalleryPrefInfo::kUserAdded); | 505 MediaGalleryPrefInfo::kUserAdded); |
| 506 Verify(); | 506 Verify(); |
| 507 | 507 |
| 508 path = MakePath("new_auto"); | 508 path = MakePath("new_auto"); |
| 509 MediaStorageUtil::GetDeviceInfoFromPath(path, &info, &relative_path); | 509 MediaStorageUtil::GetDeviceInfoFromPath(path, &info, &relative_path); |
| 510 info.set_name(ASCIIToUTF16("NewAutoGallery")); | 510 gallery_name = base::ASCIIToUTF16("NewAutoGallery"); |
| 511 id = AddGalleryWithNameV1(info.device_id(), info.name(), | 511 id = AddGalleryWithNameV1(info.device_id(), gallery_name, relative_path, |
| 512 relative_path, false /*auto*/); | 512 false /*auto*/); |
| 513 EXPECT_EQ(default_galleries_count() + 2UL, id); | 513 EXPECT_EQ(default_galleries_count() + 2UL, id); |
| 514 auto_id = id; | 514 auto_id = id; |
| 515 AddGalleryExpectation(id, info.name(), info.device_id(), relative_path, | 515 AddGalleryExpectation(id, gallery_name, info.device_id(), relative_path, |
| 516 MediaGalleryPrefInfo::kAutoDetected); | 516 MediaGalleryPrefInfo::kAutoDetected); |
| 517 Verify(); | 517 Verify(); |
| 518 | 518 |
| 519 path = MakePath("to_blacklist"); | 519 path = MakePath("to_blacklist"); |
| 520 MediaStorageUtil::GetDeviceInfoFromPath(path, &info, &relative_path); | 520 MediaStorageUtil::GetDeviceInfoFromPath(path, &info, &relative_path); |
| 521 info.set_name(ASCIIToUTF16("ToBlacklistGallery")); | 521 gallery_name = base::ASCIIToUTF16("ToBlacklistGallery"); |
| 522 id = AddGalleryWithNameV1(info.device_id(), info.name(), | 522 id = AddGalleryWithNameV1(info.device_id(), gallery_name, relative_path, |
| 523 relative_path, false /*auto*/); | 523 false /*auto*/); |
| 524 EXPECT_EQ(default_galleries_count() + 3UL, id); | 524 EXPECT_EQ(default_galleries_count() + 3UL, id); |
| 525 to_blacklist_id = id; | 525 to_blacklist_id = id; |
| 526 AddGalleryExpectation(id, info.name(), info.device_id(), relative_path, | 526 AddGalleryExpectation(id, gallery_name, info.device_id(), relative_path, |
| 527 MediaGalleryPrefInfo::kAutoDetected); | 527 MediaGalleryPrefInfo::kAutoDetected); |
| 528 Verify(); | 528 Verify(); |
| 529 | 529 |
| 530 // Remove permission for all galleries from the all-permission extension. | 530 // Remove permission for all galleries from the all-permission extension. |
| 531 gallery_prefs()->SetGalleryPermissionForExtension( | 531 gallery_prefs()->SetGalleryPermissionForExtension( |
| 532 *all_permission_extension.get(), auto_id, false); | 532 *all_permission_extension.get(), auto_id, false); |
| 533 expected_galleries_for_all.erase(auto_id); | 533 expected_galleries_for_all.erase(auto_id); |
| 534 Verify(); | 534 Verify(); |
| 535 | 535 |
| 536 gallery_prefs()->SetGalleryPermissionForExtension( | 536 gallery_prefs()->SetGalleryPermissionForExtension( |
| (...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 607 TEST_F(MediaGalleriesPreferencesTest, UpdateGalleryDetails) { | 607 TEST_F(MediaGalleriesPreferencesTest, UpdateGalleryDetails) { |
| 608 MediaGalleryPrefId auto_id, id; | 608 MediaGalleryPrefId auto_id, id; |
| 609 base::FilePath path; | 609 base::FilePath path; |
| 610 StorageInfo info; | 610 StorageInfo info; |
| 611 base::FilePath relative_path; | 611 base::FilePath relative_path; |
| 612 Verify(); | 612 Verify(); |
| 613 | 613 |
| 614 // Add a new auto detect gallery to test with. | 614 // Add a new auto detect gallery to test with. |
| 615 path = MakePath("new_auto"); | 615 path = MakePath("new_auto"); |
| 616 MediaStorageUtil::GetDeviceInfoFromPath(path, &info, &relative_path); | 616 MediaStorageUtil::GetDeviceInfoFromPath(path, &info, &relative_path); |
| 617 info.set_name(ASCIIToUTF16("NewAutoGallery")); | 617 base::string16 gallery_name = base::ASCIIToUTF16("NewAutoGallery"); |
| 618 id = AddGalleryWithNameV1(info.device_id(), info.name(), | 618 id = AddGalleryWithNameV1(info.device_id(), gallery_name, relative_path, |
| 619 relative_path, false /*auto*/); | 619 false /*auto*/); |
| 620 EXPECT_EQ(default_galleries_count() + 1UL, id); | 620 EXPECT_EQ(default_galleries_count() + 1UL, id); |
| 621 auto_id = id; | 621 auto_id = id; |
| 622 AddGalleryExpectation(id, info.name(), info.device_id(), relative_path, | 622 AddGalleryExpectation(id, gallery_name, info.device_id(), relative_path, |
| 623 MediaGalleryPrefInfo::kAutoDetected); | 623 MediaGalleryPrefInfo::kAutoDetected); |
| 624 Verify(); | 624 Verify(); |
| 625 | 625 |
| 626 // Update the device name and add the gallery again. | 626 // Update the device name and add the gallery again. |
| 627 info.set_name(ASCIIToUTF16("AutoGallery2")); | 627 gallery_name = base::ASCIIToUTF16("AutoGallery2"); |
| 628 id = AddGalleryWithNameV1(info.device_id(), info.name(), | 628 id = AddGalleryWithNameV1(info.device_id(), gallery_name, relative_path, |
| 629 relative_path, false /*auto*/); | 629 false /*auto*/); |
| 630 EXPECT_EQ(auto_id, id); | 630 EXPECT_EQ(auto_id, id); |
| 631 AddGalleryExpectation(id, info.name(), info.device_id(), relative_path, | 631 AddGalleryExpectation(id, gallery_name, info.device_id(), relative_path, |
| 632 MediaGalleryPrefInfo::kAutoDetected); | 632 MediaGalleryPrefInfo::kAutoDetected); |
| 633 Verify(); | 633 Verify(); |
| 634 } | 634 } |
| 635 | 635 |
| 636 TEST_F(MediaGalleriesPreferencesTest, MultipleGalleriesPerDevices) { | 636 TEST_F(MediaGalleriesPreferencesTest, MultipleGalleriesPerDevices) { |
| 637 base::FilePath path; | 637 base::FilePath path; |
| 638 StorageInfo info; | 638 StorageInfo info; |
| 639 base::FilePath relative_path; | 639 base::FilePath relative_path; |
| 640 Verify(); | 640 Verify(); |
| 641 | 641 |
| 642 // Add a regular gallery | 642 // Add a regular gallery |
| 643 path = MakePath("new_user"); | 643 path = MakePath("new_user"); |
| 644 MediaStorageUtil::GetDeviceInfoFromPath(path, &info, &relative_path); | 644 MediaStorageUtil::GetDeviceInfoFromPath(path, &info, &relative_path); |
| 645 info.set_name(ASCIIToUTF16("NewUserGallery")); | 645 base::string16 gallery_name = base::ASCIIToUTF16("NewUserGallery"); |
| 646 MediaGalleryPrefId user_added_id = | 646 MediaGalleryPrefId user_added_id = AddGalleryWithNameV1( |
| 647 AddGalleryWithNameV1(info.device_id(), info.name(), | 647 info.device_id(), gallery_name, relative_path, true /*user*/); |
| 648 relative_path, true /*user*/); | |
| 649 EXPECT_EQ(default_galleries_count() + 1UL, user_added_id); | 648 EXPECT_EQ(default_galleries_count() + 1UL, user_added_id); |
| 650 AddGalleryExpectation(user_added_id, info.name(), info.device_id(), | 649 AddGalleryExpectation(user_added_id, gallery_name, info.device_id(), |
| 651 relative_path, MediaGalleryPrefInfo::kUserAdded); | 650 relative_path, MediaGalleryPrefInfo::kUserAdded); |
| 652 Verify(); | 651 Verify(); |
| 653 | 652 |
| 654 // Find it by device id and fail to find something related. | 653 // Find it by device id and fail to find something related. |
| 655 MediaGalleryPrefIdSet pref_id_set; | 654 MediaGalleryPrefIdSet pref_id_set; |
| 656 pref_id_set = gallery_prefs()->LookUpGalleriesByDeviceId(info.device_id()); | 655 pref_id_set = gallery_prefs()->LookUpGalleriesByDeviceId(info.device_id()); |
| 657 EXPECT_EQ(1U, pref_id_set.size()); | 656 EXPECT_EQ(1U, pref_id_set.size()); |
| 658 EXPECT_TRUE(pref_id_set.find(user_added_id) != pref_id_set.end()); | 657 EXPECT_TRUE(pref_id_set.find(user_added_id) != pref_id_set.end()); |
| 659 | 658 |
| 660 MediaStorageUtil::GetDeviceInfoFromPath(MakePath("new_user/foo"), &info, | 659 MediaStorageUtil::GetDeviceInfoFromPath(MakePath("new_user/foo"), &info, |
| 661 &relative_path); | 660 &relative_path); |
| 662 pref_id_set = gallery_prefs()->LookUpGalleriesByDeviceId(info.device_id()); | 661 pref_id_set = gallery_prefs()->LookUpGalleriesByDeviceId(info.device_id()); |
| 663 EXPECT_EQ(0U, pref_id_set.size()); | 662 EXPECT_EQ(0U, pref_id_set.size()); |
| 664 | 663 |
| 665 // Add some galleries on the same device. | 664 // Add some galleries on the same device. |
| 666 relative_path = base::FilePath(FILE_PATH_LITERAL("path1/on/device1")); | 665 relative_path = base::FilePath(FILE_PATH_LITERAL("path1/on/device1")); |
| 667 info.set_name(ASCIIToUTF16("Device1Path1")); | 666 gallery_name = base::ASCIIToUTF16("Device1Path1"); |
| 668 std::string device_id = "path:device1"; | 667 std::string device_id = "path:device1"; |
| 669 MediaGalleryPrefId dev1_path1_id = AddGalleryWithNameV1( | 668 MediaGalleryPrefId dev1_path1_id = AddGalleryWithNameV1( |
| 670 device_id, info.name(), relative_path, true /*user*/); | 669 device_id, gallery_name, relative_path, true /*user*/); |
| 671 EXPECT_EQ(default_galleries_count() + 2UL, dev1_path1_id); | 670 EXPECT_EQ(default_galleries_count() + 2UL, dev1_path1_id); |
| 672 AddGalleryExpectation(dev1_path1_id, info.name(), device_id, relative_path, | 671 AddGalleryExpectation(dev1_path1_id, gallery_name, device_id, relative_path, |
| 673 MediaGalleryPrefInfo::kUserAdded); | 672 MediaGalleryPrefInfo::kUserAdded); |
| 674 Verify(); | 673 Verify(); |
| 675 | 674 |
| 676 relative_path = base::FilePath(FILE_PATH_LITERAL("path2/on/device1")); | 675 relative_path = base::FilePath(FILE_PATH_LITERAL("path2/on/device1")); |
| 677 info.set_name(ASCIIToUTF16("Device1Path2")); | 676 gallery_name = base::ASCIIToUTF16("Device1Path2"); |
| 678 MediaGalleryPrefId dev1_path2_id = AddGalleryWithNameV1( | 677 MediaGalleryPrefId dev1_path2_id = AddGalleryWithNameV1( |
| 679 device_id, info.name(), relative_path, true /*user*/); | 678 device_id, gallery_name, relative_path, true /*user*/); |
| 680 EXPECT_EQ(default_galleries_count() + 3UL, dev1_path2_id); | 679 EXPECT_EQ(default_galleries_count() + 3UL, dev1_path2_id); |
| 681 AddGalleryExpectation(dev1_path2_id, info.name(), device_id, relative_path, | 680 AddGalleryExpectation(dev1_path2_id, gallery_name, device_id, relative_path, |
| 682 MediaGalleryPrefInfo::kUserAdded); | 681 MediaGalleryPrefInfo::kUserAdded); |
| 683 Verify(); | 682 Verify(); |
| 684 | 683 |
| 685 relative_path = base::FilePath(FILE_PATH_LITERAL("path1/on/device2")); | 684 relative_path = base::FilePath(FILE_PATH_LITERAL("path1/on/device2")); |
| 686 info.set_name(ASCIIToUTF16("Device2Path1")); | 685 gallery_name = base::ASCIIToUTF16("Device2Path1"); |
| 687 device_id = "path:device2"; | 686 device_id = "path:device2"; |
| 688 MediaGalleryPrefId dev2_path1_id = AddGalleryWithNameV1( | 687 MediaGalleryPrefId dev2_path1_id = AddGalleryWithNameV1( |
| 689 device_id, info.name(), relative_path, true /*user*/); | 688 device_id, gallery_name, relative_path, true /*user*/); |
| 690 EXPECT_EQ(default_galleries_count() + 4UL, dev2_path1_id); | 689 EXPECT_EQ(default_galleries_count() + 4UL, dev2_path1_id); |
| 691 AddGalleryExpectation(dev2_path1_id, info.name(), device_id, relative_path, | 690 AddGalleryExpectation(dev2_path1_id, gallery_name, device_id, relative_path, |
| 692 MediaGalleryPrefInfo::kUserAdded); | 691 MediaGalleryPrefInfo::kUserAdded); |
| 693 Verify(); | 692 Verify(); |
| 694 | 693 |
| 695 relative_path = base::FilePath(FILE_PATH_LITERAL("path2/on/device2")); | 694 relative_path = base::FilePath(FILE_PATH_LITERAL("path2/on/device2")); |
| 696 info.set_name(ASCIIToUTF16("Device2Path2")); | 695 gallery_name = base::ASCIIToUTF16("Device2Path2"); |
| 697 MediaGalleryPrefId dev2_path2_id = AddGalleryWithNameV1( | 696 MediaGalleryPrefId dev2_path2_id = AddGalleryWithNameV1( |
| 698 device_id, info.name(), relative_path, true /*user*/); | 697 device_id, gallery_name, relative_path, true /*user*/); |
| 699 EXPECT_EQ(default_galleries_count() + 5UL, dev2_path2_id); | 698 EXPECT_EQ(default_galleries_count() + 5UL, dev2_path2_id); |
| 700 AddGalleryExpectation(dev2_path2_id, info.name(), device_id, relative_path, | 699 AddGalleryExpectation(dev2_path2_id, gallery_name, device_id, relative_path, |
| 701 MediaGalleryPrefInfo::kUserAdded); | 700 MediaGalleryPrefInfo::kUserAdded); |
| 702 Verify(); | 701 Verify(); |
| 703 | 702 |
| 704 // Check that adding one of them again works as expected. | 703 // Check that adding one of them again works as expected. |
| 705 MediaGalleryPrefId id = AddGalleryWithNameV1( | 704 MediaGalleryPrefId id = AddGalleryWithNameV1( |
| 706 device_id, info.name(), relative_path, true /*user*/); | 705 device_id, gallery_name, relative_path, true /*user*/); |
| 707 EXPECT_EQ(dev2_path2_id, id); | 706 EXPECT_EQ(dev2_path2_id, id); |
| 708 Verify(); | 707 Verify(); |
| 709 } | 708 } |
| 710 | 709 |
| 711 TEST_F(MediaGalleriesPreferencesTest, GalleryChangeObserver) { | 710 TEST_F(MediaGalleriesPreferencesTest, GalleryChangeObserver) { |
| 712 // Start with one observer. | 711 // Start with one observer. |
| 713 MockGalleryChangeObserver observer1(gallery_prefs()); | 712 MockGalleryChangeObserver observer1(gallery_prefs()); |
| 714 gallery_prefs()->AddGalleryChangeObserver(&observer1); | 713 gallery_prefs()->AddGalleryChangeObserver(&observer1); |
| 715 | 714 |
| 716 // Add a new auto detected gallery. | 715 // Add a new auto detected gallery. |
| 717 base::FilePath path = MakePath("new_auto"); | 716 base::FilePath path = MakePath("new_auto"); |
| 718 StorageInfo info; | 717 StorageInfo info; |
| 719 base::FilePath relative_path; | 718 base::FilePath relative_path; |
| 720 MediaStorageUtil::GetDeviceInfoFromPath(path, &info, &relative_path); | 719 MediaStorageUtil::GetDeviceInfoFromPath(path, &info, &relative_path); |
| 721 info.set_name(ASCIIToUTF16("NewAutoGallery")); | 720 base::string16 gallery_name = base::ASCIIToUTF16("NewAutoGallery"); |
| 722 MediaGalleryPrefId auto_id = AddGalleryWithNameV1( | 721 MediaGalleryPrefId auto_id = AddGalleryWithNameV1( |
| 723 info.device_id(), info.name(), relative_path, false /*auto*/); | 722 info.device_id(), gallery_name, relative_path, false /*auto*/); |
| 724 EXPECT_EQ(default_galleries_count() + 1UL, auto_id); | 723 EXPECT_EQ(default_galleries_count() + 1UL, auto_id); |
| 725 AddGalleryExpectation(auto_id, info.name(), info.device_id(), | 724 AddGalleryExpectation(auto_id, gallery_name, info.device_id(), |
| 726 relative_path, MediaGalleryPrefInfo::kAutoDetected); | 725 relative_path, MediaGalleryPrefInfo::kAutoDetected); |
| 727 EXPECT_EQ(1, observer1.notifications()); | 726 EXPECT_EQ(1, observer1.notifications()); |
| 728 | 727 |
| 729 // Add a second observer. | 728 // Add a second observer. |
| 730 MockGalleryChangeObserver observer2(gallery_prefs()); | 729 MockGalleryChangeObserver observer2(gallery_prefs()); |
| 731 gallery_prefs()->AddGalleryChangeObserver(&observer2); | 730 gallery_prefs()->AddGalleryChangeObserver(&observer2); |
| 732 | 731 |
| 733 // Add a new user added gallery. | 732 // Add a new user added gallery. |
| 734 path = MakePath("new_user"); | 733 path = MakePath("new_user"); |
| 735 MediaStorageUtil::GetDeviceInfoFromPath(path, &info, &relative_path); | 734 MediaStorageUtil::GetDeviceInfoFromPath(path, &info, &relative_path); |
| 736 info.set_name(ASCIIToUTF16("NewUserGallery")); | 735 gallery_name = base::ASCIIToUTF16("NewUserGallery"); |
| 737 MediaGalleryPrefId user_added_id = | 736 MediaGalleryPrefId user_added_id = AddGalleryWithNameV1( |
| 738 AddGalleryWithNameV1(info.device_id(), info.name(), | 737 info.device_id(), gallery_name, relative_path, true /*user*/); |
| 739 relative_path, true /*user*/); | 738 AddGalleryExpectation(user_added_id, gallery_name, info.device_id(), |
| 740 AddGalleryExpectation(user_added_id, info.name(), info.device_id(), | |
| 741 relative_path, MediaGalleryPrefInfo::kUserAdded); | 739 relative_path, MediaGalleryPrefInfo::kUserAdded); |
| 742 EXPECT_EQ(default_galleries_count() + 2UL, user_added_id); | 740 EXPECT_EQ(default_galleries_count() + 2UL, user_added_id); |
| 743 EXPECT_EQ(2, observer1.notifications()); | 741 EXPECT_EQ(2, observer1.notifications()); |
| 744 EXPECT_EQ(1, observer2.notifications()); | 742 EXPECT_EQ(1, observer2.notifications()); |
| 745 | 743 |
| 746 // Remove the first observer. | 744 // Remove the first observer. |
| 747 gallery_prefs()->RemoveGalleryChangeObserver(&observer1); | 745 gallery_prefs()->RemoveGalleryChangeObserver(&observer1); |
| 748 | 746 |
| 749 // Remove an auto added gallery (i.e. make it blacklisted). | 747 // Remove an auto added gallery (i.e. make it blacklisted). |
| 750 gallery_prefs()->ForgetGalleryById(auto_id); | 748 gallery_prefs()->ForgetGalleryById(auto_id); |
| (...skipping 15 matching lines...) Expand all Loading... |
| 766 TEST_F(MediaGalleriesPreferencesTest, UpdateSingletonDeviceIdType) { | 764 TEST_F(MediaGalleriesPreferencesTest, UpdateSingletonDeviceIdType) { |
| 767 MediaGalleryPrefId id; | 765 MediaGalleryPrefId id; |
| 768 base::FilePath path; | 766 base::FilePath path; |
| 769 StorageInfo info; | 767 StorageInfo info; |
| 770 base::FilePath relative_path; | 768 base::FilePath relative_path; |
| 771 Verify(); | 769 Verify(); |
| 772 | 770 |
| 773 // Add a new auto detect gallery to test with. | 771 // Add a new auto detect gallery to test with. |
| 774 path = MakePath("new_auto"); | 772 path = MakePath("new_auto"); |
| 775 MediaStorageUtil::GetDeviceInfoFromPath(path, &info, &relative_path); | 773 MediaStorageUtil::GetDeviceInfoFromPath(path, &info, &relative_path); |
| 776 info.set_name(ASCIIToUTF16("NewAutoGallery")); | 774 base::string16 gallery_name = base::ASCIIToUTF16("NewAutoGallery"); |
| 777 info.set_device_id(StorageInfo::MakeDeviceId(StorageInfo::ITUNES, | 775 info.set_device_id(StorageInfo::MakeDeviceId(StorageInfo::ITUNES, |
| 778 path.AsUTF8Unsafe())); | 776 path.AsUTF8Unsafe())); |
| 779 id = AddGalleryWithNameV2(info.device_id(), info.name(), relative_path, | 777 id = AddGalleryWithNameV2(info.device_id(), gallery_name, relative_path, |
| 780 false /*auto*/); | 778 false /*auto*/); |
| 781 EXPECT_EQ(default_galleries_count() + 1UL, id); | 779 EXPECT_EQ(default_galleries_count() + 1UL, id); |
| 782 AddGalleryExpectation(id, info.name(), info.device_id(), relative_path, | 780 AddGalleryExpectation(id, gallery_name, info.device_id(), relative_path, |
| 783 MediaGalleryPrefInfo::kAutoDetected); | 781 MediaGalleryPrefInfo::kAutoDetected); |
| 784 Verify(); | 782 Verify(); |
| 785 | 783 |
| 786 // Update the device id. | 784 // Update the device id. |
| 787 MockGalleryChangeObserver observer(gallery_prefs()); | 785 MockGalleryChangeObserver observer(gallery_prefs()); |
| 788 gallery_prefs()->AddGalleryChangeObserver(&observer); | 786 gallery_prefs()->AddGalleryChangeObserver(&observer); |
| 789 | 787 |
| 790 path = MakePath("updated_path"); | 788 path = MakePath("updated_path"); |
| 791 std::string updated_device_id = | 789 std::string updated_device_id = |
| 792 StorageInfo::MakeDeviceId(StorageInfo::ITUNES, path.AsUTF8Unsafe()); | 790 StorageInfo::MakeDeviceId(StorageInfo::ITUNES, path.AsUTF8Unsafe()); |
| 793 EXPECT_TRUE(UpdateDeviceIDForSingletonType(updated_device_id)); | 791 EXPECT_TRUE(UpdateDeviceIDForSingletonType(updated_device_id)); |
| 794 AddGalleryExpectation(id, info.name(), updated_device_id, relative_path, | 792 AddGalleryExpectation(id, gallery_name, updated_device_id, relative_path, |
| 795 MediaGalleryPrefInfo::kAutoDetected); | 793 MediaGalleryPrefInfo::kAutoDetected); |
| 796 expected_device_map[info.device_id()].erase(id); | 794 expected_device_map[info.device_id()].erase(id); |
| 797 expected_device_map[updated_device_id].insert(id); | 795 expected_device_map[updated_device_id].insert(id); |
| 798 Verify(); | 796 Verify(); |
| 799 EXPECT_EQ(1, observer.notifications()); | 797 EXPECT_EQ(1, observer.notifications()); |
| 800 | 798 |
| 801 // No gallery for type. | 799 // No gallery for type. |
| 802 std::string new_device_id = | 800 std::string new_device_id = |
| 803 StorageInfo::MakeDeviceId(StorageInfo::PICASA, path.AsUTF8Unsafe()); | 801 StorageInfo::MakeDeviceId(StorageInfo::PICASA, path.AsUTF8Unsafe()); |
| 804 EXPECT_FALSE(UpdateDeviceIDForSingletonType(new_device_id)); | 802 EXPECT_FALSE(UpdateDeviceIDForSingletonType(new_device_id)); |
| (...skipping 23 matching lines...) Expand all Loading... |
| 828 info.GetGalleryAdditionalDetails()); | 826 info.GetGalleryAdditionalDetails()); |
| 829 EXPECT_NE(l10n_util::GetStringUTF16( | 827 EXPECT_NE(l10n_util::GetStringUTF16( |
| 830 IDS_MEDIA_GALLERIES_DIALOG_DEVICE_ATTACHED), | 828 IDS_MEDIA_GALLERIES_DIALOG_DEVICE_ATTACHED), |
| 831 info.GetGalleryAdditionalDetails()); | 829 info.GetGalleryAdditionalDetails()); |
| 832 | 830 |
| 833 info.volume_label = ASCIIToUTF16("vol"); | 831 info.volume_label = ASCIIToUTF16("vol"); |
| 834 info.vendor_name = ASCIIToUTF16("vendor"); | 832 info.vendor_name = ASCIIToUTF16("vendor"); |
| 835 info.model_name = ASCIIToUTF16("model"); | 833 info.model_name = ASCIIToUTF16("model"); |
| 836 EXPECT_EQ(ASCIIToUTF16("o2"), info.GetGalleryDisplayName()); | 834 EXPECT_EQ(ASCIIToUTF16("o2"), info.GetGalleryDisplayName()); |
| 837 | 835 |
| 838 info.display_name = string16(); | 836 info.display_name = base::string16(); |
| 839 EXPECT_EQ(ASCIIToUTF16("vol"), info.GetGalleryDisplayName()); | 837 EXPECT_EQ(ASCIIToUTF16("vol"), info.GetGalleryDisplayName()); |
| 840 info.volume_label = string16(); | 838 info.volume_label = base::string16(); |
| 841 EXPECT_EQ(ASCIIToUTF16("vendor, model"), info.GetGalleryDisplayName()); | 839 EXPECT_EQ(ASCIIToUTF16("vendor, model"), info.GetGalleryDisplayName()); |
| 842 | 840 |
| 843 info.device_id = StorageInfo::MakeDeviceId( | 841 info.device_id = StorageInfo::MakeDeviceId( |
| 844 StorageInfo::FIXED_MASS_STORAGE, "unique"); | 842 StorageInfo::FIXED_MASS_STORAGE, "unique"); |
| 845 EXPECT_EQ(base::FilePath(FILE_PATH_LITERAL("unique")).AsUTF8Unsafe(), | 843 EXPECT_EQ(base::FilePath(FILE_PATH_LITERAL("unique")).AsUTF8Unsafe(), |
| 846 UTF16ToUTF8(info.GetGalleryTooltip())); | 844 UTF16ToUTF8(info.GetGalleryTooltip())); |
| 847 } | 845 } |
| 848 | 846 |
| 849 } // namespace chrome | 847 } // namespace chrome |
| OLD | NEW |