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

Side by Side Diff: chrome/browser/download/download_manager_unittest.cc

Issue 8503018: Split DownloadItem into an ABC, an Impl, and a Mock. (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: merge Created 9 years, 1 month 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 <set> 5 #include <set>
6 #include <string> 6 #include <string>
7 7
8 #include "base/bind.h" 8 #include "base/bind.h"
9 #include "base/file_util.h" 9 #include "base/file_util.h"
10 #include "base/i18n/number_formatting.h" 10 #include "base/i18n/number_formatting.h"
(...skipping 313 matching lines...) Expand 10 before | Expand all | Expand 10 after
324 bool hit_state(int state) const { 324 bool hit_state(int state) const {
325 return (1 << state) & states_hit_; 325 return (1 << state) & states_hit_;
326 } 326 }
327 bool was_updated() const { return was_updated_; } 327 bool was_updated() const { return was_updated_; }
328 bool was_opened() const { return was_opened_; } 328 bool was_opened() const { return was_opened_; }
329 329
330 private: 330 private:
331 // DownloadItem::Observer methods 331 // DownloadItem::Observer methods
332 virtual void OnDownloadUpdated(DownloadItem* download) { 332 virtual void OnDownloadUpdated(DownloadItem* download) {
333 DCHECK_EQ(tracked_, download); 333 DCHECK_EQ(tracked_, download);
334 states_hit_ |= (1 << download->state()); 334 states_hit_ |= (1 << download->GetState());
335 was_updated_ = true; 335 was_updated_ = true;
336 } 336 }
337 virtual void OnDownloadOpened(DownloadItem* download) { 337 virtual void OnDownloadOpened(DownloadItem* download) {
338 DCHECK_EQ(tracked_, download); 338 DCHECK_EQ(tracked_, download);
339 states_hit_ |= (1 << download->state()); 339 states_hit_ |= (1 << download->GetState());
340 was_opened_ = true; 340 was_opened_ = true;
341 } 341 }
342 342
343 DownloadItem* tracked_; 343 DownloadItem* tracked_;
344 int states_hit_; 344 int states_hit_;
345 bool was_updated_; 345 bool was_updated_;
346 bool was_opened_; 346 bool was_opened_;
347 }; 347 };
348 348
349 } // namespace 349 } // namespace
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
417 download_file->SetExpectedPath(0, new_path); 417 download_file->SetExpectedPath(0, new_path);
418 } else { 418 } else {
419 ASSERT_EQ(2, kDownloadRenameCases[i].expected_rename_count); 419 ASSERT_EQ(2, kDownloadRenameCases[i].expected_rename_count);
420 FilePath crdownload(download_util::GetCrDownloadPath(new_path)); 420 FilePath crdownload(download_util::GetCrDownloadPath(new_path));
421 download_file->SetExpectedPath(0, crdownload); 421 download_file->SetExpectedPath(0, crdownload);
422 download_file->SetExpectedPath(1, new_path); 422 download_file->SetExpectedPath(1, new_path);
423 } 423 }
424 download_manager_->CreateDownloadItem(info.get(), DownloadRequestHandle()); 424 download_manager_->CreateDownloadItem(info.get(), DownloadRequestHandle());
425 DownloadItem* download = GetActiveDownloadItem(i); 425 DownloadItem* download = GetActiveDownloadItem(i);
426 ASSERT_TRUE(download != NULL); 426 ASSERT_TRUE(download != NULL);
427 DownloadStateInfo state = download->state_info(); 427 DownloadStateInfo state = download->GetStateInfo();
428 state.danger = kDownloadRenameCases[i].danger; 428 state.danger = kDownloadRenameCases[i].danger;
429 download->SetFileCheckResults(state); 429 download->SetFileCheckResults(state);
430 430
431 int32* id_ptr = new int32; 431 int32* id_ptr = new int32;
432 *id_ptr = i; // Deleted in FileSelected(). 432 *id_ptr = i; // Deleted in FileSelected().
433 if (kDownloadRenameCases[i].finish_before_rename) { 433 if (kDownloadRenameCases[i].finish_before_rename) {
434 OnResponseCompleted(i, 1024, std::string("fake_hash")); 434 OnResponseCompleted(i, 1024, std::string("fake_hash"));
435 message_loop_.RunAllPending(); 435 message_loop_.RunAllPending();
436 FileSelected(new_path, id_ptr); 436 FileSelected(new_path, id_ptr);
437 } else { 437 } else {
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
474 // |download_file| is owned by DownloadFileManager. 474 // |download_file| is owned by DownloadFileManager.
475 download_file->SetExpectedPath(0, cr_path); 475 download_file->SetExpectedPath(0, cr_path);
476 476
477 download_manager_->CreateDownloadItem(info.get(), DownloadRequestHandle()); 477 download_manager_->CreateDownloadItem(info.get(), DownloadRequestHandle());
478 478
479 DownloadItem* download = GetActiveDownloadItem(0); 479 DownloadItem* download = GetActiveDownloadItem(0);
480 ASSERT_TRUE(download != NULL); 480 ASSERT_TRUE(download != NULL);
481 scoped_ptr<DownloadItemModel> download_item_model( 481 scoped_ptr<DownloadItemModel> download_item_model(
482 new DownloadItemModel(download)); 482 new DownloadItemModel(download));
483 483
484 EXPECT_EQ(DownloadItem::IN_PROGRESS, download->state()); 484 EXPECT_EQ(DownloadItem::IN_PROGRESS, download->GetState());
485 scoped_ptr<ItemObserver> observer(new ItemObserver(download)); 485 scoped_ptr<ItemObserver> observer(new ItemObserver(download));
486 486
487 download_file->AppendDataToFile(kTestData, kTestDataLen); 487 download_file->AppendDataToFile(kTestData, kTestDataLen);
488 488
489 ContinueDownloadWithPath(download, new_path); 489 ContinueDownloadWithPath(download, new_path);
490 message_loop_.RunAllPending(); 490 message_loop_.RunAllPending();
491 EXPECT_EQ(1, 491 EXPECT_EQ(1,
492 recorder.Count(MockDownloadFile::StatisticsRecorder::STAT_RENAME)); 492 recorder.Count(MockDownloadFile::StatisticsRecorder::STAT_RENAME));
493 EXPECT_TRUE(GetActiveDownloadItem(0) != NULL); 493 EXPECT_TRUE(GetActiveDownloadItem(0) != NULL);
494 494
495 int64 error_size = 3; 495 int64 error_size = 3;
496 OnDownloadInterrupted(0, error_size, 496 OnDownloadInterrupted(0, error_size,
497 DOWNLOAD_INTERRUPT_REASON_FILE_ACCESS_DENIED); 497 DOWNLOAD_INTERRUPT_REASON_FILE_ACCESS_DENIED);
498 message_loop_.RunAllPending(); 498 message_loop_.RunAllPending();
499 499
500 EXPECT_TRUE(GetActiveDownloadItem(0) == NULL); 500 EXPECT_TRUE(GetActiveDownloadItem(0) == NULL);
501 EXPECT_TRUE(observer->hit_state(DownloadItem::IN_PROGRESS)); 501 EXPECT_TRUE(observer->hit_state(DownloadItem::IN_PROGRESS));
502 EXPECT_TRUE(observer->hit_state(DownloadItem::INTERRUPTED)); 502 EXPECT_TRUE(observer->hit_state(DownloadItem::INTERRUPTED));
503 EXPECT_FALSE(observer->hit_state(DownloadItem::COMPLETE)); 503 EXPECT_FALSE(observer->hit_state(DownloadItem::COMPLETE));
504 EXPECT_FALSE(observer->hit_state(DownloadItem::CANCELLED)); 504 EXPECT_FALSE(observer->hit_state(DownloadItem::CANCELLED));
505 EXPECT_FALSE(observer->hit_state(DownloadItem::REMOVING)); 505 EXPECT_FALSE(observer->hit_state(DownloadItem::REMOVING));
506 EXPECT_TRUE(observer->was_updated()); 506 EXPECT_TRUE(observer->was_updated());
507 EXPECT_FALSE(observer->was_opened()); 507 EXPECT_FALSE(observer->was_opened());
508 EXPECT_FALSE(download->file_externally_removed()); 508 EXPECT_FALSE(download->GetFileExternallyRemoved());
509 EXPECT_EQ(DownloadItem::INTERRUPTED, download->state()); 509 EXPECT_EQ(DownloadItem::INTERRUPTED, download->GetState());
510 ui::DataUnits amount_units = ui::GetByteDisplayUnits(kTestDataLen); 510 ui::DataUnits amount_units = ui::GetByteDisplayUnits(kTestDataLen);
511 string16 simple_size = 511 string16 simple_size =
512 ui::FormatBytesWithUnits(error_size, amount_units, false); 512 ui::FormatBytesWithUnits(error_size, amount_units, false);
513 string16 simple_total = base::i18n::GetDisplayStringInLTRDirectionality( 513 string16 simple_total = base::i18n::GetDisplayStringInLTRDirectionality(
514 ui::FormatBytesWithUnits(kTestDataLen, amount_units, true)); 514 ui::FormatBytesWithUnits(kTestDataLen, amount_units, true));
515 EXPECT_EQ(download_item_model->GetStatusText(), 515 EXPECT_EQ(download_item_model->GetStatusText(),
516 l10n_util::GetStringFUTF16(IDS_DOWNLOAD_STATUS_INTERRUPTED, 516 l10n_util::GetStringFUTF16(IDS_DOWNLOAD_STATUS_INTERRUPTED,
517 simple_size, 517 simple_size,
518 simple_total)); 518 simple_total));
519 519
520 download->Cancel(true); 520 download->Cancel(true);
521 521
522 EXPECT_TRUE(observer->hit_state(DownloadItem::IN_PROGRESS)); 522 EXPECT_TRUE(observer->hit_state(DownloadItem::IN_PROGRESS));
523 EXPECT_TRUE(observer->hit_state(DownloadItem::INTERRUPTED)); 523 EXPECT_TRUE(observer->hit_state(DownloadItem::INTERRUPTED));
524 EXPECT_FALSE(observer->hit_state(DownloadItem::COMPLETE)); 524 EXPECT_FALSE(observer->hit_state(DownloadItem::COMPLETE));
525 EXPECT_FALSE(observer->hit_state(DownloadItem::CANCELLED)); 525 EXPECT_FALSE(observer->hit_state(DownloadItem::CANCELLED));
526 EXPECT_FALSE(observer->hit_state(DownloadItem::REMOVING)); 526 EXPECT_FALSE(observer->hit_state(DownloadItem::REMOVING));
527 EXPECT_TRUE(observer->was_updated()); 527 EXPECT_TRUE(observer->was_updated());
528 EXPECT_FALSE(observer->was_opened()); 528 EXPECT_FALSE(observer->was_opened());
529 EXPECT_FALSE(download->file_externally_removed()); 529 EXPECT_FALSE(download->GetFileExternallyRemoved());
530 EXPECT_EQ(DownloadItem::INTERRUPTED, download->state()); 530 EXPECT_EQ(DownloadItem::INTERRUPTED, download->GetState());
531 EXPECT_EQ(download->received_bytes(), error_size); 531 EXPECT_EQ(download->GetReceivedBytes(), error_size);
532 EXPECT_EQ(download->total_bytes(), static_cast<int64>(kTestDataLen)); 532 EXPECT_EQ(download->GetTotalBytes(), static_cast<int64>(kTestDataLen));
533 } 533 }
534 534
535 // Test the behavior of DownloadFileManager and DownloadManager in the event 535 // Test the behavior of DownloadFileManager and DownloadManager in the event
536 // of a file error while writing the download to disk. 536 // of a file error while writing the download to disk.
537 TEST_F(DownloadManagerTest, DownloadFileErrorTest) { 537 TEST_F(DownloadManagerTest, DownloadFileErrorTest) {
538 // Create a temporary file and a mock stream. 538 // Create a temporary file and a mock stream.
539 FilePath path; 539 FilePath path;
540 ASSERT_TRUE(file_util::CreateTemporaryFile(&path)); 540 ASSERT_TRUE(file_util::CreateTemporaryFile(&path));
541 541
542 // This file stream will be used, until the first rename occurs. 542 // This file stream will be used, until the first rename occurs.
(...skipping 21 matching lines...) Expand all
564 564
565 // |download_file| is owned by DownloadFileManager. 565 // |download_file| is owned by DownloadFileManager.
566 download_manager_->CreateDownloadItem(info.get(), DownloadRequestHandle()); 566 download_manager_->CreateDownloadItem(info.get(), DownloadRequestHandle());
567 567
568 DownloadItem* download = GetActiveDownloadItem(0); 568 DownloadItem* download = GetActiveDownloadItem(0);
569 ASSERT_TRUE(download != NULL); 569 ASSERT_TRUE(download != NULL);
570 // This will keep track of what should be displayed on the shelf. 570 // This will keep track of what should be displayed on the shelf.
571 scoped_ptr<DownloadItemModel> download_item_model( 571 scoped_ptr<DownloadItemModel> download_item_model(
572 new DownloadItemModel(download)); 572 new DownloadItemModel(download));
573 573
574 EXPECT_EQ(DownloadItem::IN_PROGRESS, download->state()); 574 EXPECT_EQ(DownloadItem::IN_PROGRESS, download->GetState());
575 scoped_ptr<ItemObserver> observer(new ItemObserver(download)); 575 scoped_ptr<ItemObserver> observer(new ItemObserver(download));
576 576
577 // Add some data before finalizing the file name. 577 // Add some data before finalizing the file name.
578 UpdateData(local_id, kTestData, kTestDataLen); 578 UpdateData(local_id, kTestData, kTestDataLen);
579 579
580 // Finalize the file name. 580 // Finalize the file name.
581 ContinueDownloadWithPath(download, path); 581 ContinueDownloadWithPath(download, path);
582 message_loop_.RunAllPending(); 582 message_loop_.RunAllPending();
583 EXPECT_TRUE(GetActiveDownloadItem(0) != NULL); 583 EXPECT_TRUE(GetActiveDownloadItem(0) != NULL);
584 584
585 // Add more data. 585 // Add more data.
586 UpdateData(local_id, kTestData, kTestDataLen); 586 UpdateData(local_id, kTestData, kTestDataLen);
587 587
588 // Add more data, but an error occurs. 588 // Add more data, but an error occurs.
589 download_file->set_forced_error(net::ERR_FAILED); 589 download_file->set_forced_error(net::ERR_FAILED);
590 UpdateData(local_id, kTestData, kTestDataLen); 590 UpdateData(local_id, kTestData, kTestDataLen);
591 591
592 // Check the state. The download should have been interrupted. 592 // Check the state. The download should have been interrupted.
593 EXPECT_TRUE(GetActiveDownloadItem(0) == NULL); 593 EXPECT_TRUE(GetActiveDownloadItem(0) == NULL);
594 EXPECT_TRUE(observer->hit_state(DownloadItem::IN_PROGRESS)); 594 EXPECT_TRUE(observer->hit_state(DownloadItem::IN_PROGRESS));
595 EXPECT_TRUE(observer->hit_state(DownloadItem::INTERRUPTED)); 595 EXPECT_TRUE(observer->hit_state(DownloadItem::INTERRUPTED));
596 EXPECT_FALSE(observer->hit_state(DownloadItem::COMPLETE)); 596 EXPECT_FALSE(observer->hit_state(DownloadItem::COMPLETE));
597 EXPECT_FALSE(observer->hit_state(DownloadItem::CANCELLED)); 597 EXPECT_FALSE(observer->hit_state(DownloadItem::CANCELLED));
598 EXPECT_FALSE(observer->hit_state(DownloadItem::REMOVING)); 598 EXPECT_FALSE(observer->hit_state(DownloadItem::REMOVING));
599 EXPECT_TRUE(observer->was_updated()); 599 EXPECT_TRUE(observer->was_updated());
600 EXPECT_FALSE(observer->was_opened()); 600 EXPECT_FALSE(observer->was_opened());
601 EXPECT_FALSE(download->file_externally_removed()); 601 EXPECT_FALSE(download->GetFileExternallyRemoved());
602 EXPECT_EQ(DownloadItem::INTERRUPTED, download->state()); 602 EXPECT_EQ(DownloadItem::INTERRUPTED, download->GetState());
603 603
604 // Check the download shelf's information. 604 // Check the download shelf's information.
605 size_t error_size = kTestDataLen * 3; 605 size_t error_size = kTestDataLen * 3;
606 size_t total_size = kTestDataLen * 3; 606 size_t total_size = kTestDataLen * 3;
607 ui::DataUnits amount_units = ui::GetByteDisplayUnits(kTestDataLen); 607 ui::DataUnits amount_units = ui::GetByteDisplayUnits(kTestDataLen);
608 string16 simple_size = 608 string16 simple_size =
609 ui::FormatBytesWithUnits(error_size, amount_units, false); 609 ui::FormatBytesWithUnits(error_size, amount_units, false);
610 string16 simple_total = base::i18n::GetDisplayStringInLTRDirectionality( 610 string16 simple_total = base::i18n::GetDisplayStringInLTRDirectionality(
611 ui::FormatBytesWithUnits(total_size, amount_units, true)); 611 ui::FormatBytesWithUnits(total_size, amount_units, true));
612 EXPECT_EQ(l10n_util::GetStringFUTF16(IDS_DOWNLOAD_STATUS_INTERRUPTED, 612 EXPECT_EQ(l10n_util::GetStringFUTF16(IDS_DOWNLOAD_STATUS_INTERRUPTED,
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
645 // |download_file| is owned by DownloadFileManager. 645 // |download_file| is owned by DownloadFileManager.
646 download_file->SetExpectedPath(0, cr_path); 646 download_file->SetExpectedPath(0, cr_path);
647 647
648 download_manager_->CreateDownloadItem(info.get(), DownloadRequestHandle()); 648 download_manager_->CreateDownloadItem(info.get(), DownloadRequestHandle());
649 649
650 DownloadItem* download = GetActiveDownloadItem(0); 650 DownloadItem* download = GetActiveDownloadItem(0);
651 ASSERT_TRUE(download != NULL); 651 ASSERT_TRUE(download != NULL);
652 scoped_ptr<DownloadItemModel> download_item_model( 652 scoped_ptr<DownloadItemModel> download_item_model(
653 new DownloadItemModel(download)); 653 new DownloadItemModel(download));
654 654
655 EXPECT_EQ(DownloadItem::IN_PROGRESS, download->state()); 655 EXPECT_EQ(DownloadItem::IN_PROGRESS, download->GetState());
656 scoped_ptr<ItemObserver> observer(new ItemObserver(download)); 656 scoped_ptr<ItemObserver> observer(new ItemObserver(download));
657 657
658 ContinueDownloadWithPath(download, new_path); 658 ContinueDownloadWithPath(download, new_path);
659 message_loop_.RunAllPending(); 659 message_loop_.RunAllPending();
660 EXPECT_TRUE(GetActiveDownloadItem(0) != NULL); 660 EXPECT_TRUE(GetActiveDownloadItem(0) != NULL);
661 661
662 download_file->AppendDataToFile(kTestData, kTestDataLen); 662 download_file->AppendDataToFile(kTestData, kTestDataLen);
663 663
664 download->Cancel(false); 664 download->Cancel(false);
665 message_loop_.RunAllPending(); 665 message_loop_.RunAllPending();
666 666
667 EXPECT_TRUE(GetActiveDownloadItem(0) != NULL); 667 EXPECT_TRUE(GetActiveDownloadItem(0) != NULL);
668 EXPECT_TRUE(observer->hit_state(DownloadItem::IN_PROGRESS)); 668 EXPECT_TRUE(observer->hit_state(DownloadItem::IN_PROGRESS));
669 EXPECT_TRUE(observer->hit_state(DownloadItem::CANCELLED)); 669 EXPECT_TRUE(observer->hit_state(DownloadItem::CANCELLED));
670 EXPECT_FALSE(observer->hit_state(DownloadItem::INTERRUPTED)); 670 EXPECT_FALSE(observer->hit_state(DownloadItem::INTERRUPTED));
671 EXPECT_FALSE(observer->hit_state(DownloadItem::COMPLETE)); 671 EXPECT_FALSE(observer->hit_state(DownloadItem::COMPLETE));
672 EXPECT_FALSE(observer->hit_state(DownloadItem::REMOVING)); 672 EXPECT_FALSE(observer->hit_state(DownloadItem::REMOVING));
673 EXPECT_TRUE(observer->was_updated()); 673 EXPECT_TRUE(observer->was_updated());
674 EXPECT_FALSE(observer->was_opened()); 674 EXPECT_FALSE(observer->was_opened());
675 EXPECT_FALSE(download->file_externally_removed()); 675 EXPECT_FALSE(download->GetFileExternallyRemoved());
676 EXPECT_EQ(DownloadItem::CANCELLED, download->state()); 676 EXPECT_EQ(DownloadItem::CANCELLED, download->GetState());
677 EXPECT_EQ(download_item_model->GetStatusText(), 677 EXPECT_EQ(download_item_model->GetStatusText(),
678 l10n_util::GetStringUTF16(IDS_DOWNLOAD_STATUS_CANCELED)); 678 l10n_util::GetStringUTF16(IDS_DOWNLOAD_STATUS_CANCELED));
679 679
680 EXPECT_FALSE(file_util::PathExists(new_path)); 680 EXPECT_FALSE(file_util::PathExists(new_path));
681 EXPECT_FALSE(file_util::PathExists(cr_path)); 681 EXPECT_FALSE(file_util::PathExists(cr_path));
682 } 682 }
683 683
684 TEST_F(DownloadManagerTest, DownloadOverwriteTest) { 684 TEST_F(DownloadManagerTest, DownloadOverwriteTest) {
685 using ::testing::_; 685 using ::testing::_;
686 using ::testing::CreateFunctor; 686 using ::testing::CreateFunctor;
(...skipping 30 matching lines...) Expand all
717 info->prompt_user_for_save_location = true; 717 info->prompt_user_for_save_location = true;
718 info->url_chain.push_back(GURL()); 718 info->url_chain.push_back(GURL());
719 719
720 download_manager_->CreateDownloadItem(info.get(), DownloadRequestHandle()); 720 download_manager_->CreateDownloadItem(info.get(), DownloadRequestHandle());
721 721
722 DownloadItem* download = GetActiveDownloadItem(0); 722 DownloadItem* download = GetActiveDownloadItem(0);
723 ASSERT_TRUE(download != NULL); 723 ASSERT_TRUE(download != NULL);
724 scoped_ptr<DownloadItemModel> download_item_model( 724 scoped_ptr<DownloadItemModel> download_item_model(
725 new DownloadItemModel(download)); 725 new DownloadItemModel(download));
726 726
727 EXPECT_EQ(DownloadItem::IN_PROGRESS, download->state()); 727 EXPECT_EQ(DownloadItem::IN_PROGRESS, download->GetState());
728 scoped_ptr<ItemObserver> observer(new ItemObserver(download)); 728 scoped_ptr<ItemObserver> observer(new ItemObserver(download));
729 729
730 // Create and initialize the download file. We're bypassing the first part 730 // Create and initialize the download file. We're bypassing the first part
731 // of the download process and skipping to the part after the final file 731 // of the download process and skipping to the part after the final file
732 // name has been chosen, so we need to initialize the download file 732 // name has been chosen, so we need to initialize the download file
733 // properly. 733 // properly.
734 DownloadFile* download_file( 734 DownloadFile* download_file(
735 new DownloadFileImpl(info.get(), new DownloadRequestHandle(), 735 new DownloadFileImpl(info.get(), new DownloadRequestHandle(),
736 download_manager_)); 736 download_manager_));
737 download_file->Rename(cr_path); 737 download_file->Rename(cr_path);
(...skipping 14 matching lines...) Expand all
752 752
753 // Download is complete. 753 // Download is complete.
754 EXPECT_TRUE(GetActiveDownloadItem(0) == NULL); 754 EXPECT_TRUE(GetActiveDownloadItem(0) == NULL);
755 EXPECT_TRUE(observer->hit_state(DownloadItem::IN_PROGRESS)); 755 EXPECT_TRUE(observer->hit_state(DownloadItem::IN_PROGRESS));
756 EXPECT_FALSE(observer->hit_state(DownloadItem::CANCELLED)); 756 EXPECT_FALSE(observer->hit_state(DownloadItem::CANCELLED));
757 EXPECT_FALSE(observer->hit_state(DownloadItem::INTERRUPTED)); 757 EXPECT_FALSE(observer->hit_state(DownloadItem::INTERRUPTED));
758 EXPECT_TRUE(observer->hit_state(DownloadItem::COMPLETE)); 758 EXPECT_TRUE(observer->hit_state(DownloadItem::COMPLETE));
759 EXPECT_FALSE(observer->hit_state(DownloadItem::REMOVING)); 759 EXPECT_FALSE(observer->hit_state(DownloadItem::REMOVING));
760 EXPECT_TRUE(observer->was_updated()); 760 EXPECT_TRUE(observer->was_updated());
761 EXPECT_FALSE(observer->was_opened()); 761 EXPECT_FALSE(observer->was_opened());
762 EXPECT_FALSE(download->file_externally_removed()); 762 EXPECT_FALSE(download->GetFileExternallyRemoved());
763 EXPECT_EQ(DownloadItem::COMPLETE, download->state()); 763 EXPECT_EQ(DownloadItem::COMPLETE, download->GetState());
764 EXPECT_EQ(download_item_model->GetStatusText(), ASCIIToUTF16("")); 764 EXPECT_EQ(download_item_model->GetStatusText(), ASCIIToUTF16(""));
765 765
766 EXPECT_TRUE(file_util::PathExists(new_path)); 766 EXPECT_TRUE(file_util::PathExists(new_path));
767 EXPECT_FALSE(file_util::PathExists(cr_path)); 767 EXPECT_FALSE(file_util::PathExists(cr_path));
768 EXPECT_FALSE(file_util::PathExists(unique_new_path)); 768 EXPECT_FALSE(file_util::PathExists(unique_new_path));
769 std::string file_contents; 769 std::string file_contents;
770 EXPECT_TRUE(file_util::ReadFileToString(new_path, &file_contents)); 770 EXPECT_TRUE(file_util::ReadFileToString(new_path, &file_contents));
771 EXPECT_EQ(std::string(kTestData), file_contents); 771 EXPECT_EQ(std::string(kTestData), file_contents);
772 } 772 }
773 773
(...skipping 20 matching lines...) Expand all
794 info->prompt_user_for_save_location = true; 794 info->prompt_user_for_save_location = true;
795 info->url_chain.push_back(GURL()); 795 info->url_chain.push_back(GURL());
796 796
797 download_manager_->CreateDownloadItem(info.get(), DownloadRequestHandle()); 797 download_manager_->CreateDownloadItem(info.get(), DownloadRequestHandle());
798 798
799 DownloadItem* download = GetActiveDownloadItem(0); 799 DownloadItem* download = GetActiveDownloadItem(0);
800 ASSERT_TRUE(download != NULL); 800 ASSERT_TRUE(download != NULL);
801 scoped_ptr<DownloadItemModel> download_item_model( 801 scoped_ptr<DownloadItemModel> download_item_model(
802 new DownloadItemModel(download)); 802 new DownloadItemModel(download));
803 803
804 EXPECT_EQ(DownloadItem::IN_PROGRESS, download->state()); 804 EXPECT_EQ(DownloadItem::IN_PROGRESS, download->GetState());
805 scoped_ptr<ItemObserver> observer(new ItemObserver(download)); 805 scoped_ptr<ItemObserver> observer(new ItemObserver(download));
806 806
807 // Create and initialize the download file. We're bypassing the first part 807 // Create and initialize the download file. We're bypassing the first part
808 // of the download process and skipping to the part after the final file 808 // of the download process and skipping to the part after the final file
809 // name has been chosen, so we need to initialize the download file 809 // name has been chosen, so we need to initialize the download file
810 // properly. 810 // properly.
811 DownloadFile* download_file( 811 DownloadFile* download_file(
812 new DownloadFileImpl(info.get(), new DownloadRequestHandle(), 812 new DownloadFileImpl(info.get(), new DownloadRequestHandle(),
813 download_manager_)); 813 download_manager_));
814 download_file->Rename(cr_path); 814 download_file->Rename(cr_path);
(...skipping 14 matching lines...) Expand all
829 829
830 // Download is complete. 830 // Download is complete.
831 EXPECT_TRUE(GetActiveDownloadItem(0) == NULL); 831 EXPECT_TRUE(GetActiveDownloadItem(0) == NULL);
832 EXPECT_TRUE(observer->hit_state(DownloadItem::IN_PROGRESS)); 832 EXPECT_TRUE(observer->hit_state(DownloadItem::IN_PROGRESS));
833 EXPECT_FALSE(observer->hit_state(DownloadItem::CANCELLED)); 833 EXPECT_FALSE(observer->hit_state(DownloadItem::CANCELLED));
834 EXPECT_FALSE(observer->hit_state(DownloadItem::INTERRUPTED)); 834 EXPECT_FALSE(observer->hit_state(DownloadItem::INTERRUPTED));
835 EXPECT_TRUE(observer->hit_state(DownloadItem::COMPLETE)); 835 EXPECT_TRUE(observer->hit_state(DownloadItem::COMPLETE));
836 EXPECT_FALSE(observer->hit_state(DownloadItem::REMOVING)); 836 EXPECT_FALSE(observer->hit_state(DownloadItem::REMOVING));
837 EXPECT_TRUE(observer->was_updated()); 837 EXPECT_TRUE(observer->was_updated());
838 EXPECT_FALSE(observer->was_opened()); 838 EXPECT_FALSE(observer->was_opened());
839 EXPECT_FALSE(download->file_externally_removed()); 839 EXPECT_FALSE(download->GetFileExternallyRemoved());
840 EXPECT_EQ(DownloadItem::COMPLETE, download->state()); 840 EXPECT_EQ(DownloadItem::COMPLETE, download->GetState());
841 EXPECT_EQ(download_item_model->GetStatusText(), ASCIIToUTF16("")); 841 EXPECT_EQ(download_item_model->GetStatusText(), ASCIIToUTF16(""));
842 842
843 EXPECT_TRUE(file_util::PathExists(new_path)); 843 EXPECT_TRUE(file_util::PathExists(new_path));
844 EXPECT_FALSE(file_util::PathExists(cr_path)); 844 EXPECT_FALSE(file_util::PathExists(cr_path));
845 845
846 // Remove the downloaded file. 846 // Remove the downloaded file.
847 ASSERT_TRUE(file_util::Delete(new_path, false)); 847 ASSERT_TRUE(file_util::Delete(new_path, false));
848 download->OnDownloadedFileRemoved(); 848 download->OnDownloadedFileRemoved();
849 message_loop_.RunAllPending(); 849 message_loop_.RunAllPending();
850 850
851 EXPECT_TRUE(GetActiveDownloadItem(0) == NULL); 851 EXPECT_TRUE(GetActiveDownloadItem(0) == NULL);
852 EXPECT_TRUE(observer->hit_state(DownloadItem::IN_PROGRESS)); 852 EXPECT_TRUE(observer->hit_state(DownloadItem::IN_PROGRESS));
853 EXPECT_FALSE(observer->hit_state(DownloadItem::CANCELLED)); 853 EXPECT_FALSE(observer->hit_state(DownloadItem::CANCELLED));
854 EXPECT_FALSE(observer->hit_state(DownloadItem::INTERRUPTED)); 854 EXPECT_FALSE(observer->hit_state(DownloadItem::INTERRUPTED));
855 EXPECT_TRUE(observer->hit_state(DownloadItem::COMPLETE)); 855 EXPECT_TRUE(observer->hit_state(DownloadItem::COMPLETE));
856 EXPECT_FALSE(observer->hit_state(DownloadItem::REMOVING)); 856 EXPECT_FALSE(observer->hit_state(DownloadItem::REMOVING));
857 EXPECT_TRUE(observer->was_updated()); 857 EXPECT_TRUE(observer->was_updated());
858 EXPECT_FALSE(observer->was_opened()); 858 EXPECT_FALSE(observer->was_opened());
859 EXPECT_TRUE(download->file_externally_removed()); 859 EXPECT_TRUE(download->GetFileExternallyRemoved());
860 EXPECT_EQ(DownloadItem::COMPLETE, download->state()); 860 EXPECT_EQ(DownloadItem::COMPLETE, download->GetState());
861 EXPECT_EQ(download_item_model->GetStatusText(), 861 EXPECT_EQ(download_item_model->GetStatusText(),
862 l10n_util::GetStringUTF16(IDS_DOWNLOAD_STATUS_REMOVED)); 862 l10n_util::GetStringUTF16(IDS_DOWNLOAD_STATUS_REMOVED));
863 863
864 EXPECT_FALSE(file_util::PathExists(new_path)); 864 EXPECT_FALSE(file_util::PathExists(new_path));
865 } 865 }
OLDNEW
« no previous file with comments | « chrome/browser/download/download_item_unittest.cc ('k') | chrome/browser/download/download_shelf_context_menu.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698