| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include <string> | 5 #include <string> |
| 6 #include <vector> | 6 #include <vector> |
| 7 | 7 |
| 8 #include "base/bind.h" | 8 #include "base/bind.h" |
| 9 #include "base/files/file_path.h" | 9 #include "base/files/file_path.h" |
| 10 #include "base/files/file_util.h" | 10 #include "base/files/file_util.h" |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 51 public: | 51 public: |
| 52 TestITunesDataProvider(const base::FilePath& xml_library_path, | 52 TestITunesDataProvider(const base::FilePath& xml_library_path, |
| 53 const base::Closure& callback) | 53 const base::Closure& callback) |
| 54 : ITunesDataProvider(xml_library_path), | 54 : ITunesDataProvider(xml_library_path), |
| 55 callback_(callback) { | 55 callback_(callback) { |
| 56 } | 56 } |
| 57 virtual ~TestITunesDataProvider() {} | 57 virtual ~TestITunesDataProvider() {} |
| 58 | 58 |
| 59 private: | 59 private: |
| 60 virtual void OnLibraryChanged(const base::FilePath& path, | 60 virtual void OnLibraryChanged(const base::FilePath& path, |
| 61 bool error) OVERRIDE { | 61 bool error) override { |
| 62 ITunesDataProvider::OnLibraryChanged(path, error); | 62 ITunesDataProvider::OnLibraryChanged(path, error); |
| 63 callback_.Run(); | 63 callback_.Run(); |
| 64 } | 64 } |
| 65 | 65 |
| 66 base::Closure callback_; | 66 base::Closure callback_; |
| 67 | 67 |
| 68 DISALLOW_COPY_AND_ASSIGN(TestITunesDataProvider); | 68 DISALLOW_COPY_AND_ASSIGN(TestITunesDataProvider); |
| 69 }; | 69 }; |
| 70 | 70 |
| 71 class ITunesDataProviderTest : public InProcessBrowserTest { | 71 class ITunesDataProviderTest : public InProcessBrowserTest { |
| 72 public: | 72 public: |
| 73 ITunesDataProviderTest() {} | 73 ITunesDataProviderTest() {} |
| 74 virtual ~ITunesDataProviderTest() {} | 74 virtual ~ITunesDataProviderTest() {} |
| 75 | 75 |
| 76 protected: | 76 protected: |
| 77 virtual void SetUp() OVERRIDE { | 77 virtual void SetUp() override { |
| 78 ASSERT_TRUE(library_dir_.CreateUniqueTempDir()); | 78 ASSERT_TRUE(library_dir_.CreateUniqueTempDir()); |
| 79 WriteLibraryInternal(SetUpLibrary()); | 79 WriteLibraryInternal(SetUpLibrary()); |
| 80 // The ImportedMediaGalleryRegistry is created on which ever thread calls | 80 // The ImportedMediaGalleryRegistry is created on which ever thread calls |
| 81 // GetInstance() first. It shouldn't matter what thread creates, however | 81 // GetInstance() first. It shouldn't matter what thread creates, however |
| 82 // in practice it is always created on the UI thread, so this calls | 82 // in practice it is always created on the UI thread, so this calls |
| 83 // GetInstance here to mirror those real conditions. | 83 // GetInstance here to mirror those real conditions. |
| 84 ImportedMediaGalleryRegistry::GetInstance(); | 84 ImportedMediaGalleryRegistry::GetInstance(); |
| 85 InProcessBrowserTest::SetUp(); | 85 InProcessBrowserTest::SetUp(); |
| 86 } | 86 } |
| 87 | 87 |
| (...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 210 base::Closure quit_closure_; | 210 base::Closure quit_closure_; |
| 211 | 211 |
| 212 DISALLOW_COPY_AND_ASSIGN(ITunesDataProviderTest); | 212 DISALLOW_COPY_AND_ASSIGN(ITunesDataProviderTest); |
| 213 }; | 213 }; |
| 214 | 214 |
| 215 class ITunesDataProviderBasicTest : public ITunesDataProviderTest { | 215 class ITunesDataProviderBasicTest : public ITunesDataProviderTest { |
| 216 public: | 216 public: |
| 217 ITunesDataProviderBasicTest() {} | 217 ITunesDataProviderBasicTest() {} |
| 218 virtual ~ITunesDataProviderBasicTest() {} | 218 virtual ~ITunesDataProviderBasicTest() {} |
| 219 | 219 |
| 220 virtual std::vector<LibraryEntry> SetUpLibrary() OVERRIDE { | 220 virtual std::vector<LibraryEntry> SetUpLibrary() override { |
| 221 base::FilePath track = library_dir().AppendASCII("Track.mp3"); | 221 base::FilePath track = library_dir().AppendASCII("Track.mp3"); |
| 222 std::vector<LibraryEntry> entries; | 222 std::vector<LibraryEntry> entries; |
| 223 entries.push_back(LibraryEntry("Artist", "Album", track)); | 223 entries.push_back(LibraryEntry("Artist", "Album", track)); |
| 224 return entries; | 224 return entries; |
| 225 } | 225 } |
| 226 | 226 |
| 227 virtual void StartTest(bool parse_success) OVERRIDE { | 227 virtual void StartTest(bool parse_success) override { |
| 228 EXPECT_TRUE(parse_success); | 228 EXPECT_TRUE(parse_success); |
| 229 | 229 |
| 230 // KnownArtist | 230 // KnownArtist |
| 231 EXPECT_TRUE(data_provider()->KnownArtist("Artist")); | 231 EXPECT_TRUE(data_provider()->KnownArtist("Artist")); |
| 232 EXPECT_FALSE(data_provider()->KnownArtist("Artist2")); | 232 EXPECT_FALSE(data_provider()->KnownArtist("Artist2")); |
| 233 | 233 |
| 234 // KnownAlbum | 234 // KnownAlbum |
| 235 EXPECT_TRUE(data_provider()->KnownAlbum("Artist", "Album")); | 235 EXPECT_TRUE(data_provider()->KnownAlbum("Artist", "Album")); |
| 236 EXPECT_FALSE(data_provider()->KnownAlbum("Artist", "Album2")); | 236 EXPECT_FALSE(data_provider()->KnownAlbum("Artist", "Album2")); |
| 237 EXPECT_FALSE(data_provider()->KnownAlbum("Artist2", "Album")); | 237 EXPECT_FALSE(data_provider()->KnownAlbum("Artist2", "Album")); |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 278 | 278 |
| 279 private: | 279 private: |
| 280 DISALLOW_COPY_AND_ASSIGN(ITunesDataProviderBasicTest); | 280 DISALLOW_COPY_AND_ASSIGN(ITunesDataProviderBasicTest); |
| 281 }; | 281 }; |
| 282 | 282 |
| 283 class ITunesDataProviderRefreshTest : public ITunesDataProviderTest { | 283 class ITunesDataProviderRefreshTest : public ITunesDataProviderTest { |
| 284 public: | 284 public: |
| 285 ITunesDataProviderRefreshTest() {} | 285 ITunesDataProviderRefreshTest() {} |
| 286 virtual ~ITunesDataProviderRefreshTest() {} | 286 virtual ~ITunesDataProviderRefreshTest() {} |
| 287 | 287 |
| 288 virtual std::vector<LibraryEntry> SetUpLibrary() OVERRIDE { | 288 virtual std::vector<LibraryEntry> SetUpLibrary() override { |
| 289 base::FilePath track = library_dir().AppendASCII("Track.mp3"); | 289 base::FilePath track = library_dir().AppendASCII("Track.mp3"); |
| 290 std::vector<LibraryEntry> entries; | 290 std::vector<LibraryEntry> entries; |
| 291 entries.push_back(LibraryEntry("Artist", "Album", track)); | 291 entries.push_back(LibraryEntry("Artist", "Album", track)); |
| 292 return entries; | 292 return entries; |
| 293 } | 293 } |
| 294 | 294 |
| 295 virtual void StartTest(bool parse_success) OVERRIDE { | 295 virtual void StartTest(bool parse_success) override { |
| 296 EXPECT_TRUE(parse_success); | 296 EXPECT_TRUE(parse_success); |
| 297 | 297 |
| 298 // Initial contents. | 298 // Initial contents. |
| 299 ExpectTrackLocation("Artist", "Album", "Track.mp3"); | 299 ExpectTrackLocation("Artist", "Album", "Track.mp3"); |
| 300 ExpectNoTrack("Artist2", "Album2", "Track2.mp3"); | 300 ExpectNoTrack("Artist2", "Album2", "Track2.mp3"); |
| 301 | 301 |
| 302 // New file. | 302 // New file. |
| 303 base::FilePath track2 = library_dir().AppendASCII("Track2.mp3"); | 303 base::FilePath track2 = library_dir().AppendASCII("Track2.mp3"); |
| 304 std::vector<LibraryEntry> entries; | 304 std::vector<LibraryEntry> entries; |
| 305 entries.push_back(LibraryEntry("Artist2", "Album2", track2)); | 305 entries.push_back(LibraryEntry("Artist2", "Album2", track2)); |
| (...skipping 22 matching lines...) Expand all Loading... |
| 328 | 328 |
| 329 private: | 329 private: |
| 330 DISALLOW_COPY_AND_ASSIGN(ITunesDataProviderRefreshTest); | 330 DISALLOW_COPY_AND_ASSIGN(ITunesDataProviderRefreshTest); |
| 331 }; | 331 }; |
| 332 | 332 |
| 333 class ITunesDataProviderInvalidTest : public ITunesDataProviderTest { | 333 class ITunesDataProviderInvalidTest : public ITunesDataProviderTest { |
| 334 public: | 334 public: |
| 335 ITunesDataProviderInvalidTest() {} | 335 ITunesDataProviderInvalidTest() {} |
| 336 virtual ~ITunesDataProviderInvalidTest() {} | 336 virtual ~ITunesDataProviderInvalidTest() {} |
| 337 | 337 |
| 338 virtual std::vector<LibraryEntry> SetUpLibrary() OVERRIDE { | 338 virtual std::vector<LibraryEntry> SetUpLibrary() override { |
| 339 base::FilePath track = library_dir().AppendASCII("Track.mp3"); | 339 base::FilePath track = library_dir().AppendASCII("Track.mp3"); |
| 340 std::vector<LibraryEntry> entries; | 340 std::vector<LibraryEntry> entries; |
| 341 entries.push_back(LibraryEntry("Artist", "Album", track)); | 341 entries.push_back(LibraryEntry("Artist", "Album", track)); |
| 342 return entries; | 342 return entries; |
| 343 } | 343 } |
| 344 | 344 |
| 345 virtual void StartTest(bool parse_success) OVERRIDE { | 345 virtual void StartTest(bool parse_success) override { |
| 346 EXPECT_TRUE(parse_success); | 346 EXPECT_TRUE(parse_success); |
| 347 | 347 |
| 348 SetLibraryChangeCallback( | 348 SetLibraryChangeCallback( |
| 349 base::Bind(&ITunesDataProvider::RefreshData, | 349 base::Bind(&ITunesDataProvider::RefreshData, |
| 350 base::Unretained(data_provider()), | 350 base::Unretained(data_provider()), |
| 351 base::Bind(&ITunesDataProviderInvalidTest::CheckInvalid, | 351 base::Bind(&ITunesDataProviderInvalidTest::CheckInvalid, |
| 352 base::Unretained(this)))); | 352 base::Unretained(this)))); |
| 353 ASSERT_EQ(1L, base::WriteFile(XmlFile(), " ", 1)); | 353 ASSERT_EQ(1L, base::WriteFile(XmlFile(), " ", 1)); |
| 354 } | 354 } |
| 355 | 355 |
| 356 void CheckInvalid(bool is_valid) { | 356 void CheckInvalid(bool is_valid) { |
| 357 EXPECT_FALSE(is_valid); | 357 EXPECT_FALSE(is_valid); |
| 358 TestDone(); | 358 TestDone(); |
| 359 } | 359 } |
| 360 | 360 |
| 361 private: | 361 private: |
| 362 DISALLOW_COPY_AND_ASSIGN(ITunesDataProviderInvalidTest); | 362 DISALLOW_COPY_AND_ASSIGN(ITunesDataProviderInvalidTest); |
| 363 }; | 363 }; |
| 364 | 364 |
| 365 class ITunesDataProviderUniqueNameTest : public ITunesDataProviderTest { | 365 class ITunesDataProviderUniqueNameTest : public ITunesDataProviderTest { |
| 366 public: | 366 public: |
| 367 ITunesDataProviderUniqueNameTest() {} | 367 ITunesDataProviderUniqueNameTest() {} |
| 368 virtual ~ITunesDataProviderUniqueNameTest() {} | 368 virtual ~ITunesDataProviderUniqueNameTest() {} |
| 369 | 369 |
| 370 virtual std::vector<LibraryEntry> SetUpLibrary() OVERRIDE { | 370 virtual std::vector<LibraryEntry> SetUpLibrary() override { |
| 371 base::FilePath track = library_dir().AppendASCII("Track.mp3"); | 371 base::FilePath track = library_dir().AppendASCII("Track.mp3"); |
| 372 std::vector<LibraryEntry> entries; | 372 std::vector<LibraryEntry> entries; |
| 373 // Dupe album names should get uniquified with the track id, which in the | 373 // Dupe album names should get uniquified with the track id, which in the |
| 374 // test framework is the vector index. | 374 // test framework is the vector index. |
| 375 entries.push_back(LibraryEntry("Artist", "Album", track)); | 375 entries.push_back(LibraryEntry("Artist", "Album", track)); |
| 376 entries.push_back(LibraryEntry("Artist", "Album", track)); | 376 entries.push_back(LibraryEntry("Artist", "Album", track)); |
| 377 entries.push_back(LibraryEntry("Artist", "Album2", track)); | 377 entries.push_back(LibraryEntry("Artist", "Album2", track)); |
| 378 return entries; | 378 return entries; |
| 379 } | 379 } |
| 380 | 380 |
| 381 virtual void StartTest(bool parse_success) OVERRIDE { | 381 virtual void StartTest(bool parse_success) override { |
| 382 EXPECT_TRUE(parse_success); | 382 EXPECT_TRUE(parse_success); |
| 383 | 383 |
| 384 base::FilePath track = | 384 base::FilePath track = |
| 385 library_dir().AppendASCII("Track.mp3").NormalizePathSeparators(); | 385 library_dir().AppendASCII("Track.mp3").NormalizePathSeparators(); |
| 386 EXPECT_EQ(track.value(), | 386 EXPECT_EQ(track.value(), |
| 387 data_provider()->GetTrackLocation( | 387 data_provider()->GetTrackLocation( |
| 388 "Artist", "Album", | 388 "Artist", "Album", |
| 389 "Track (1).mp3").NormalizePathSeparators().value()); | 389 "Track (1).mp3").NormalizePathSeparators().value()); |
| 390 EXPECT_EQ(track.value(), | 390 EXPECT_EQ(track.value(), |
| 391 data_provider()->GetTrackLocation( | 391 data_provider()->GetTrackLocation( |
| (...skipping 12 matching lines...) Expand all Loading... |
| 404 }; | 404 }; |
| 405 | 405 |
| 406 class ITunesDataProviderEscapeTest : public ITunesDataProviderTest { | 406 class ITunesDataProviderEscapeTest : public ITunesDataProviderTest { |
| 407 // Albums and tracks that aren't the same, but become the same after | 407 // Albums and tracks that aren't the same, but become the same after |
| 408 // replacing bad characters are not handled properly, but that case should | 408 // replacing bad characters are not handled properly, but that case should |
| 409 // never happen in practice. | 409 // never happen in practice. |
| 410 public: | 410 public: |
| 411 ITunesDataProviderEscapeTest() {} | 411 ITunesDataProviderEscapeTest() {} |
| 412 virtual ~ITunesDataProviderEscapeTest() {} | 412 virtual ~ITunesDataProviderEscapeTest() {} |
| 413 | 413 |
| 414 virtual std::vector<LibraryEntry> SetUpLibrary() OVERRIDE { | 414 virtual std::vector<LibraryEntry> SetUpLibrary() override { |
| 415 base::FilePath track = library_dir().AppendASCII("Track:1.mp3"); | 415 base::FilePath track = library_dir().AppendASCII("Track:1.mp3"); |
| 416 std::vector<LibraryEntry> entries; | 416 std::vector<LibraryEntry> entries; |
| 417 entries.push_back(LibraryEntry("Artist:/name", "Album:name/", track)); | 417 entries.push_back(LibraryEntry("Artist:/name", "Album:name/", track)); |
| 418 entries.push_back(LibraryEntry("Artist/name", "Album:name", track)); | 418 entries.push_back(LibraryEntry("Artist/name", "Album:name", track)); |
| 419 entries.push_back(LibraryEntry("Artist/name", "Album:name", track)); | 419 entries.push_back(LibraryEntry("Artist/name", "Album:name", track)); |
| 420 entries.push_back(LibraryEntry(kDeNormalizedName, kNormalizedName, track)); | 420 entries.push_back(LibraryEntry(kDeNormalizedName, kNormalizedName, track)); |
| 421 return entries; | 421 return entries; |
| 422 } | 422 } |
| 423 | 423 |
| 424 virtual void StartTest(bool parse_success) OVERRIDE { | 424 virtual void StartTest(bool parse_success) override { |
| 425 EXPECT_TRUE(parse_success); | 425 EXPECT_TRUE(parse_success); |
| 426 | 426 |
| 427 base::FilePath track = | 427 base::FilePath track = |
| 428 library_dir().AppendASCII("Track:1.mp3").NormalizePathSeparators(); | 428 library_dir().AppendASCII("Track:1.mp3").NormalizePathSeparators(); |
| 429 EXPECT_EQ(track.value(), | 429 EXPECT_EQ(track.value(), |
| 430 data_provider()->GetTrackLocation( | 430 data_provider()->GetTrackLocation( |
| 431 "Artist__name", "Album_name_", | 431 "Artist__name", "Album_name_", |
| 432 "Track_1.mp3").NormalizePathSeparators().value()); | 432 "Track_1.mp3").NormalizePathSeparators().value()); |
| 433 EXPECT_EQ(track.value(), | 433 EXPECT_EQ(track.value(), |
| 434 data_provider()->GetTrackLocation( | 434 data_provider()->GetTrackLocation( |
| (...skipping 29 matching lines...) Expand all Loading... |
| 464 | 464 |
| 465 IN_PROC_BROWSER_TEST_F(ITunesDataProviderUniqueNameTest, UniqueNameTest) { | 465 IN_PROC_BROWSER_TEST_F(ITunesDataProviderUniqueNameTest, UniqueNameTest) { |
| 466 RunTest(); | 466 RunTest(); |
| 467 } | 467 } |
| 468 | 468 |
| 469 IN_PROC_BROWSER_TEST_F(ITunesDataProviderEscapeTest, EscapeTest) { | 469 IN_PROC_BROWSER_TEST_F(ITunesDataProviderEscapeTest, EscapeTest) { |
| 470 RunTest(); | 470 RunTest(); |
| 471 } | 471 } |
| 472 | 472 |
| 473 } // namespace itunes | 473 } // namespace itunes |
| OLD | NEW |