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

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: CamelCase 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 133 matching lines...) Expand 10 before | Expand all | Expand 10 after
144 } 144 }
145 return file_manager_; 145 return file_manager_;
146 } 146 }
147 147
148 // Make sure download item |id| was set with correct safety state for 148 // Make sure download item |id| was set with correct safety state for
149 // given |is_dangerous_file| and |is_dangerous_url|. 149 // given |is_dangerous_file| and |is_dangerous_url|.
150 bool VerifySafetyState(bool is_dangerous_file, 150 bool VerifySafetyState(bool is_dangerous_file,
151 bool is_dangerous_url, 151 bool is_dangerous_url,
152 int id) { 152 int id) {
153 DownloadItem::SafetyState safety_state = 153 DownloadItem::SafetyState safety_state =
154 download_manager_->GetDownloadItem(id)->safety_state(); 154 download_manager_->GetDownloadItem(id)->GetSafetyState();
155 return (is_dangerous_file || is_dangerous_url) ? 155 return (is_dangerous_file || is_dangerous_url) ?
156 safety_state != DownloadItem::SAFE : safety_state == DownloadItem::SAFE; 156 safety_state != DownloadItem::SAFE : safety_state == DownloadItem::SAFE;
157 } 157 }
158 158
159 DISALLOW_COPY_AND_ASSIGN(DownloadManagerTest); 159 DISALLOW_COPY_AND_ASSIGN(DownloadManagerTest);
160 }; 160 };
161 161
162 const char* DownloadManagerTest::kTestData = "a;sdlfalsdfjalsdkfjad"; 162 const char* DownloadManagerTest::kTestData = "a;sdlfalsdfjalsdkfjad";
163 const size_t DownloadManagerTest::kTestDataLen = 163 const size_t DownloadManagerTest::kTestDataLen =
164 strlen(DownloadManagerTest::kTestData); 164 strlen(DownloadManagerTest::kTestData);
(...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after
350 bool hit_state(int state) const { 350 bool hit_state(int state) const {
351 return (1 << state) & states_hit_; 351 return (1 << state) & states_hit_;
352 } 352 }
353 bool was_updated() const { return was_updated_; } 353 bool was_updated() const { return was_updated_; }
354 bool was_opened() const { return was_opened_; } 354 bool was_opened() const { return was_opened_; }
355 355
356 private: 356 private:
357 // DownloadItem::Observer methods 357 // DownloadItem::Observer methods
358 virtual void OnDownloadUpdated(DownloadItem* download) { 358 virtual void OnDownloadUpdated(DownloadItem* download) {
359 DCHECK_EQ(tracked_, download); 359 DCHECK_EQ(tracked_, download);
360 states_hit_ |= (1 << download->state()); 360 states_hit_ |= (1 << download->GetState());
361 was_updated_ = true; 361 was_updated_ = true;
362 } 362 }
363 virtual void OnDownloadOpened(DownloadItem* download) { 363 virtual void OnDownloadOpened(DownloadItem* download) {
364 DCHECK_EQ(tracked_, download); 364 DCHECK_EQ(tracked_, download);
365 states_hit_ |= (1 << download->state()); 365 states_hit_ |= (1 << download->GetState());
366 was_opened_ = true; 366 was_opened_ = true;
367 } 367 }
368 368
369 DownloadItem* tracked_; 369 DownloadItem* tracked_;
370 int states_hit_; 370 int states_hit_;
371 bool was_updated_; 371 bool was_updated_;
372 bool was_opened_; 372 bool was_opened_;
373 }; 373 };
374 374
375 } // namespace 375 } // namespace
(...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after
505 505
506 EXPECT_CALL(*download_file, Rename(cr_path)).WillOnce(Return(net::OK)); 506 EXPECT_CALL(*download_file, Rename(cr_path)).WillOnce(Return(net::OK));
507 507
508 download_manager_->CreateDownloadItem(info.get(), DownloadRequestHandle()); 508 download_manager_->CreateDownloadItem(info.get(), DownloadRequestHandle());
509 509
510 DownloadItem* download = GetActiveDownloadItem(0); 510 DownloadItem* download = GetActiveDownloadItem(0);
511 ASSERT_TRUE(download != NULL); 511 ASSERT_TRUE(download != NULL);
512 scoped_ptr<DownloadItemModel> download_item_model( 512 scoped_ptr<DownloadItemModel> download_item_model(
513 new DownloadItemModel(download)); 513 new DownloadItemModel(download));
514 514
515 EXPECT_EQ(DownloadItem::IN_PROGRESS, download->state()); 515 EXPECT_EQ(DownloadItem::IN_PROGRESS, download->GetState());
516 scoped_ptr<ItemObserver> observer(new ItemObserver(download)); 516 scoped_ptr<ItemObserver> observer(new ItemObserver(download));
517 517
518 download_file->AppendDataToFile(kTestData, kTestDataLen); 518 download_file->AppendDataToFile(kTestData, kTestDataLen);
519 519
520 ContinueDownloadWithPath(download, new_path); 520 ContinueDownloadWithPath(download, new_path);
521 message_loop_.RunAllPending(); 521 message_loop_.RunAllPending();
522 EXPECT_TRUE(GetActiveDownloadItem(0) != NULL); 522 EXPECT_TRUE(GetActiveDownloadItem(0) != NULL);
523 523
524 int64 error_size = 3; 524 int64 error_size = 3;
525 OnDownloadInterrupted(0, error_size, 525 OnDownloadInterrupted(0, error_size,
526 DOWNLOAD_INTERRUPT_REASON_FILE_ACCESS_DENIED); 526 DOWNLOAD_INTERRUPT_REASON_FILE_ACCESS_DENIED);
527 message_loop_.RunAllPending(); 527 message_loop_.RunAllPending();
528 528
529 EXPECT_TRUE(GetActiveDownloadItem(0) == NULL); 529 EXPECT_TRUE(GetActiveDownloadItem(0) == NULL);
530 EXPECT_TRUE(observer->hit_state(DownloadItem::IN_PROGRESS)); 530 EXPECT_TRUE(observer->hit_state(DownloadItem::IN_PROGRESS));
531 EXPECT_TRUE(observer->hit_state(DownloadItem::INTERRUPTED)); 531 EXPECT_TRUE(observer->hit_state(DownloadItem::INTERRUPTED));
532 EXPECT_FALSE(observer->hit_state(DownloadItem::COMPLETE)); 532 EXPECT_FALSE(observer->hit_state(DownloadItem::COMPLETE));
533 EXPECT_FALSE(observer->hit_state(DownloadItem::CANCELLED)); 533 EXPECT_FALSE(observer->hit_state(DownloadItem::CANCELLED));
534 EXPECT_FALSE(observer->hit_state(DownloadItem::REMOVING)); 534 EXPECT_FALSE(observer->hit_state(DownloadItem::REMOVING));
535 EXPECT_TRUE(observer->was_updated()); 535 EXPECT_TRUE(observer->was_updated());
536 EXPECT_FALSE(observer->was_opened()); 536 EXPECT_FALSE(observer->was_opened());
537 EXPECT_FALSE(download->file_externally_removed()); 537 EXPECT_FALSE(download->GetFileExternallyRemoved());
538 EXPECT_EQ(DownloadItem::INTERRUPTED, download->state()); 538 EXPECT_EQ(DownloadItem::INTERRUPTED, download->GetState());
539 ui::DataUnits amount_units = ui::GetByteDisplayUnits(kTestDataLen); 539 ui::DataUnits amount_units = ui::GetByteDisplayUnits(kTestDataLen);
540 string16 simple_size = 540 string16 simple_size =
541 ui::FormatBytesWithUnits(error_size, amount_units, false); 541 ui::FormatBytesWithUnits(error_size, amount_units, false);
542 string16 simple_total = base::i18n::GetDisplayStringInLTRDirectionality( 542 string16 simple_total = base::i18n::GetDisplayStringInLTRDirectionality(
543 ui::FormatBytesWithUnits(kTestDataLen, amount_units, true)); 543 ui::FormatBytesWithUnits(kTestDataLen, amount_units, true));
544 EXPECT_EQ(download_item_model->GetStatusText(), 544 EXPECT_EQ(download_item_model->GetStatusText(),
545 l10n_util::GetStringFUTF16(IDS_DOWNLOAD_STATUS_INTERRUPTED, 545 l10n_util::GetStringFUTF16(IDS_DOWNLOAD_STATUS_INTERRUPTED,
546 simple_size, 546 simple_size,
547 simple_total)); 547 simple_total));
548 548
549 download->Cancel(true); 549 download->Cancel(true);
550 550
551 EXPECT_TRUE(observer->hit_state(DownloadItem::IN_PROGRESS)); 551 EXPECT_TRUE(observer->hit_state(DownloadItem::IN_PROGRESS));
552 EXPECT_TRUE(observer->hit_state(DownloadItem::INTERRUPTED)); 552 EXPECT_TRUE(observer->hit_state(DownloadItem::INTERRUPTED));
553 EXPECT_FALSE(observer->hit_state(DownloadItem::COMPLETE)); 553 EXPECT_FALSE(observer->hit_state(DownloadItem::COMPLETE));
554 EXPECT_FALSE(observer->hit_state(DownloadItem::CANCELLED)); 554 EXPECT_FALSE(observer->hit_state(DownloadItem::CANCELLED));
555 EXPECT_FALSE(observer->hit_state(DownloadItem::REMOVING)); 555 EXPECT_FALSE(observer->hit_state(DownloadItem::REMOVING));
556 EXPECT_TRUE(observer->was_updated()); 556 EXPECT_TRUE(observer->was_updated());
557 EXPECT_FALSE(observer->was_opened()); 557 EXPECT_FALSE(observer->was_opened());
558 EXPECT_FALSE(download->file_externally_removed()); 558 EXPECT_FALSE(download->GetFileExternallyRemoved());
559 EXPECT_EQ(DownloadItem::INTERRUPTED, download->state()); 559 EXPECT_EQ(DownloadItem::INTERRUPTED, download->GetState());
560 EXPECT_EQ(download->received_bytes(), error_size); 560 EXPECT_EQ(download->GetReceivedBytes(), error_size);
561 EXPECT_EQ(download->total_bytes(), static_cast<int64>(kTestDataLen)); 561 EXPECT_EQ(download->GetTotalBytes(), static_cast<int64>(kTestDataLen));
562 } 562 }
563 563
564 // Test the behavior of DownloadFileManager and DownloadManager in the event 564 // Test the behavior of DownloadFileManager and DownloadManager in the event
565 // of a file error while writing the download to disk. 565 // of a file error while writing the download to disk.
566 TEST_F(DownloadManagerTest, DownloadFileErrorTest) { 566 TEST_F(DownloadManagerTest, DownloadFileErrorTest) {
567 // Create a temporary file and a mock stream. 567 // Create a temporary file and a mock stream.
568 FilePath path; 568 FilePath path;
569 ASSERT_TRUE(file_util::CreateTemporaryFile(&path)); 569 ASSERT_TRUE(file_util::CreateTemporaryFile(&path));
570 570
571 // This file stream will be used, until the first rename occurs. 571 // This file stream will be used, until the first rename occurs.
(...skipping 20 matching lines...) Expand all
592 592
593 // |download_file| is owned by DownloadFileManager. 593 // |download_file| is owned by DownloadFileManager.
594 download_manager_->CreateDownloadItem(info.get(), DownloadRequestHandle()); 594 download_manager_->CreateDownloadItem(info.get(), DownloadRequestHandle());
595 595
596 DownloadItem* download = GetActiveDownloadItem(0); 596 DownloadItem* download = GetActiveDownloadItem(0);
597 ASSERT_TRUE(download != NULL); 597 ASSERT_TRUE(download != NULL);
598 // This will keep track of what should be displayed on the shelf. 598 // This will keep track of what should be displayed on the shelf.
599 scoped_ptr<DownloadItemModel> download_item_model( 599 scoped_ptr<DownloadItemModel> download_item_model(
600 new DownloadItemModel(download)); 600 new DownloadItemModel(download));
601 601
602 EXPECT_EQ(DownloadItem::IN_PROGRESS, download->state()); 602 EXPECT_EQ(DownloadItem::IN_PROGRESS, download->GetState());
603 scoped_ptr<ItemObserver> observer(new ItemObserver(download)); 603 scoped_ptr<ItemObserver> observer(new ItemObserver(download));
604 604
605 // Add some data before finalizing the file name. 605 // Add some data before finalizing the file name.
606 UpdateData(local_id, kTestData, kTestDataLen); 606 UpdateData(local_id, kTestData, kTestDataLen);
607 607
608 // Finalize the file name. 608 // Finalize the file name.
609 ContinueDownloadWithPath(download, path); 609 ContinueDownloadWithPath(download, path);
610 message_loop_.RunAllPending(); 610 message_loop_.RunAllPending();
611 EXPECT_TRUE(GetActiveDownloadItem(0) != NULL); 611 EXPECT_TRUE(GetActiveDownloadItem(0) != NULL);
612 612
613 // Add more data. 613 // Add more data.
614 UpdateData(local_id, kTestData, kTestDataLen); 614 UpdateData(local_id, kTestData, kTestDataLen);
615 615
616 // Add more data, but an error occurs. 616 // Add more data, but an error occurs.
617 download_file->SetForcedError(net::ERR_FAILED); 617 download_file->SetForcedError(net::ERR_FAILED);
618 UpdateData(local_id, kTestData, kTestDataLen); 618 UpdateData(local_id, kTestData, kTestDataLen);
619 619
620 // Check the state. The download should have been interrupted. 620 // Check the state. The download should have been interrupted.
621 EXPECT_TRUE(GetActiveDownloadItem(0) == NULL); 621 EXPECT_TRUE(GetActiveDownloadItem(0) == NULL);
622 EXPECT_TRUE(observer->hit_state(DownloadItem::IN_PROGRESS)); 622 EXPECT_TRUE(observer->hit_state(DownloadItem::IN_PROGRESS));
623 EXPECT_TRUE(observer->hit_state(DownloadItem::INTERRUPTED)); 623 EXPECT_TRUE(observer->hit_state(DownloadItem::INTERRUPTED));
624 EXPECT_FALSE(observer->hit_state(DownloadItem::COMPLETE)); 624 EXPECT_FALSE(observer->hit_state(DownloadItem::COMPLETE));
625 EXPECT_FALSE(observer->hit_state(DownloadItem::CANCELLED)); 625 EXPECT_FALSE(observer->hit_state(DownloadItem::CANCELLED));
626 EXPECT_FALSE(observer->hit_state(DownloadItem::REMOVING)); 626 EXPECT_FALSE(observer->hit_state(DownloadItem::REMOVING));
627 EXPECT_TRUE(observer->was_updated()); 627 EXPECT_TRUE(observer->was_updated());
628 EXPECT_FALSE(observer->was_opened()); 628 EXPECT_FALSE(observer->was_opened());
629 EXPECT_FALSE(download->file_externally_removed()); 629 EXPECT_FALSE(download->GetFileExternallyRemoved());
630 EXPECT_EQ(DownloadItem::INTERRUPTED, download->state()); 630 EXPECT_EQ(DownloadItem::INTERRUPTED, download->GetState());
631 631
632 // Check the download shelf's information. 632 // Check the download shelf's information.
633 size_t error_size = kTestDataLen * 2; 633 size_t error_size = kTestDataLen * 2;
634 size_t total_size = kTestDataLen * 3; 634 size_t total_size = kTestDataLen * 3;
635 ui::DataUnits amount_units = ui::GetByteDisplayUnits(kTestDataLen); 635 ui::DataUnits amount_units = ui::GetByteDisplayUnits(kTestDataLen);
636 string16 simple_size = 636 string16 simple_size =
637 ui::FormatBytesWithUnits(error_size, amount_units, false); 637 ui::FormatBytesWithUnits(error_size, amount_units, false);
638 string16 simple_total = base::i18n::GetDisplayStringInLTRDirectionality( 638 string16 simple_total = base::i18n::GetDisplayStringInLTRDirectionality(
639 ui::FormatBytesWithUnits(total_size, amount_units, true)); 639 ui::FormatBytesWithUnits(total_size, amount_units, true));
640 EXPECT_EQ(l10n_util::GetStringFUTF16(IDS_DOWNLOAD_STATUS_INTERRUPTED, 640 EXPECT_EQ(l10n_util::GetStringFUTF16(IDS_DOWNLOAD_STATUS_INTERRUPTED,
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
673 673
674 EXPECT_CALL(*download_file, Rename(cr_path)).WillOnce(Return(net::OK)); 674 EXPECT_CALL(*download_file, Rename(cr_path)).WillOnce(Return(net::OK));
675 675
676 download_manager_->CreateDownloadItem(info.get(), DownloadRequestHandle()); 676 download_manager_->CreateDownloadItem(info.get(), DownloadRequestHandle());
677 677
678 DownloadItem* download = GetActiveDownloadItem(0); 678 DownloadItem* download = GetActiveDownloadItem(0);
679 ASSERT_TRUE(download != NULL); 679 ASSERT_TRUE(download != NULL);
680 scoped_ptr<DownloadItemModel> download_item_model( 680 scoped_ptr<DownloadItemModel> download_item_model(
681 new DownloadItemModel(download)); 681 new DownloadItemModel(download));
682 682
683 EXPECT_EQ(DownloadItem::IN_PROGRESS, download->state()); 683 EXPECT_EQ(DownloadItem::IN_PROGRESS, download->GetState());
684 scoped_ptr<ItemObserver> observer(new ItemObserver(download)); 684 scoped_ptr<ItemObserver> observer(new ItemObserver(download));
685 685
686 ContinueDownloadWithPath(download, new_path); 686 ContinueDownloadWithPath(download, new_path);
687 message_loop_.RunAllPending(); 687 message_loop_.RunAllPending();
688 EXPECT_TRUE(GetActiveDownloadItem(0) != NULL); 688 EXPECT_TRUE(GetActiveDownloadItem(0) != NULL);
689 689
690 download_file->AppendDataToFile(kTestData, kTestDataLen); 690 download_file->AppendDataToFile(kTestData, kTestDataLen);
691 691
692 download->Cancel(false); 692 download->Cancel(false);
693 message_loop_.RunAllPending(); 693 message_loop_.RunAllPending();
694 694
695 EXPECT_TRUE(GetActiveDownloadItem(0) != NULL); 695 EXPECT_TRUE(GetActiveDownloadItem(0) != NULL);
696 EXPECT_TRUE(observer->hit_state(DownloadItem::IN_PROGRESS)); 696 EXPECT_TRUE(observer->hit_state(DownloadItem::IN_PROGRESS));
697 EXPECT_TRUE(observer->hit_state(DownloadItem::CANCELLED)); 697 EXPECT_TRUE(observer->hit_state(DownloadItem::CANCELLED));
698 EXPECT_FALSE(observer->hit_state(DownloadItem::INTERRUPTED)); 698 EXPECT_FALSE(observer->hit_state(DownloadItem::INTERRUPTED));
699 EXPECT_FALSE(observer->hit_state(DownloadItem::COMPLETE)); 699 EXPECT_FALSE(observer->hit_state(DownloadItem::COMPLETE));
700 EXPECT_FALSE(observer->hit_state(DownloadItem::REMOVING)); 700 EXPECT_FALSE(observer->hit_state(DownloadItem::REMOVING));
701 EXPECT_TRUE(observer->was_updated()); 701 EXPECT_TRUE(observer->was_updated());
702 EXPECT_FALSE(observer->was_opened()); 702 EXPECT_FALSE(observer->was_opened());
703 EXPECT_FALSE(download->file_externally_removed()); 703 EXPECT_FALSE(download->GetFileExternallyRemoved());
704 EXPECT_EQ(DownloadItem::CANCELLED, download->state()); 704 EXPECT_EQ(DownloadItem::CANCELLED, download->GetState());
705 EXPECT_EQ(download_item_model->GetStatusText(), 705 EXPECT_EQ(download_item_model->GetStatusText(),
706 l10n_util::GetStringUTF16(IDS_DOWNLOAD_STATUS_CANCELED)); 706 l10n_util::GetStringUTF16(IDS_DOWNLOAD_STATUS_CANCELED));
707 707
708 EXPECT_FALSE(file_util::PathExists(new_path)); 708 EXPECT_FALSE(file_util::PathExists(new_path));
709 EXPECT_FALSE(file_util::PathExists(cr_path)); 709 EXPECT_FALSE(file_util::PathExists(cr_path));
710 } 710 }
711 711
712 TEST_F(DownloadManagerTest, DownloadOverwriteTest) { 712 TEST_F(DownloadManagerTest, DownloadOverwriteTest) {
713 using ::testing::_; 713 using ::testing::_;
714 using ::testing::CreateFunctor; 714 using ::testing::CreateFunctor;
(...skipping 30 matching lines...) Expand all
745 info->prompt_user_for_save_location = true; 745 info->prompt_user_for_save_location = true;
746 info->url_chain.push_back(GURL()); 746 info->url_chain.push_back(GURL());
747 747
748 download_manager_->CreateDownloadItem(info.get(), DownloadRequestHandle()); 748 download_manager_->CreateDownloadItem(info.get(), DownloadRequestHandle());
749 749
750 DownloadItem* download = GetActiveDownloadItem(0); 750 DownloadItem* download = GetActiveDownloadItem(0);
751 ASSERT_TRUE(download != NULL); 751 ASSERT_TRUE(download != NULL);
752 scoped_ptr<DownloadItemModel> download_item_model( 752 scoped_ptr<DownloadItemModel> download_item_model(
753 new DownloadItemModel(download)); 753 new DownloadItemModel(download));
754 754
755 EXPECT_EQ(DownloadItem::IN_PROGRESS, download->state()); 755 EXPECT_EQ(DownloadItem::IN_PROGRESS, download->GetState());
756 scoped_ptr<ItemObserver> observer(new ItemObserver(download)); 756 scoped_ptr<ItemObserver> observer(new ItemObserver(download));
757 757
758 // Create and initialize the download file. We're bypassing the first part 758 // Create and initialize the download file. We're bypassing the first part
759 // of the download process and skipping to the part after the final file 759 // of the download process and skipping to the part after the final file
760 // name has been chosen, so we need to initialize the download file 760 // name has been chosen, so we need to initialize the download file
761 // properly. 761 // properly.
762 DownloadFile* download_file( 762 DownloadFile* download_file(
763 new DownloadFile(info.get(), new DownloadRequestHandle(), 763 new DownloadFile(info.get(), new DownloadRequestHandle(),
764 download_manager_)); 764 download_manager_));
765 download_file->Rename(cr_path); 765 download_file->Rename(cr_path);
(...skipping 14 matching lines...) Expand all
780 780
781 // Download is complete. 781 // Download is complete.
782 EXPECT_TRUE(GetActiveDownloadItem(0) == NULL); 782 EXPECT_TRUE(GetActiveDownloadItem(0) == NULL);
783 EXPECT_TRUE(observer->hit_state(DownloadItem::IN_PROGRESS)); 783 EXPECT_TRUE(observer->hit_state(DownloadItem::IN_PROGRESS));
784 EXPECT_FALSE(observer->hit_state(DownloadItem::CANCELLED)); 784 EXPECT_FALSE(observer->hit_state(DownloadItem::CANCELLED));
785 EXPECT_FALSE(observer->hit_state(DownloadItem::INTERRUPTED)); 785 EXPECT_FALSE(observer->hit_state(DownloadItem::INTERRUPTED));
786 EXPECT_TRUE(observer->hit_state(DownloadItem::COMPLETE)); 786 EXPECT_TRUE(observer->hit_state(DownloadItem::COMPLETE));
787 EXPECT_FALSE(observer->hit_state(DownloadItem::REMOVING)); 787 EXPECT_FALSE(observer->hit_state(DownloadItem::REMOVING));
788 EXPECT_TRUE(observer->was_updated()); 788 EXPECT_TRUE(observer->was_updated());
789 EXPECT_FALSE(observer->was_opened()); 789 EXPECT_FALSE(observer->was_opened());
790 EXPECT_FALSE(download->file_externally_removed()); 790 EXPECT_FALSE(download->GetFileExternallyRemoved());
791 EXPECT_EQ(DownloadItem::COMPLETE, download->state()); 791 EXPECT_EQ(DownloadItem::COMPLETE, download->GetState());
792 EXPECT_EQ(download_item_model->GetStatusText(), ASCIIToUTF16("")); 792 EXPECT_EQ(download_item_model->GetStatusText(), ASCIIToUTF16(""));
793 793
794 EXPECT_TRUE(file_util::PathExists(new_path)); 794 EXPECT_TRUE(file_util::PathExists(new_path));
795 EXPECT_FALSE(file_util::PathExists(cr_path)); 795 EXPECT_FALSE(file_util::PathExists(cr_path));
796 EXPECT_FALSE(file_util::PathExists(unique_new_path)); 796 EXPECT_FALSE(file_util::PathExists(unique_new_path));
797 std::string file_contents; 797 std::string file_contents;
798 EXPECT_TRUE(file_util::ReadFileToString(new_path, &file_contents)); 798 EXPECT_TRUE(file_util::ReadFileToString(new_path, &file_contents));
799 EXPECT_EQ(std::string(kTestData), file_contents); 799 EXPECT_EQ(std::string(kTestData), file_contents);
800 } 800 }
801 801
(...skipping 20 matching lines...) Expand all
822 info->prompt_user_for_save_location = true; 822 info->prompt_user_for_save_location = true;
823 info->url_chain.push_back(GURL()); 823 info->url_chain.push_back(GURL());
824 824
825 download_manager_->CreateDownloadItem(info.get(), DownloadRequestHandle()); 825 download_manager_->CreateDownloadItem(info.get(), DownloadRequestHandle());
826 826
827 DownloadItem* download = GetActiveDownloadItem(0); 827 DownloadItem* download = GetActiveDownloadItem(0);
828 ASSERT_TRUE(download != NULL); 828 ASSERT_TRUE(download != NULL);
829 scoped_ptr<DownloadItemModel> download_item_model( 829 scoped_ptr<DownloadItemModel> download_item_model(
830 new DownloadItemModel(download)); 830 new DownloadItemModel(download));
831 831
832 EXPECT_EQ(DownloadItem::IN_PROGRESS, download->state()); 832 EXPECT_EQ(DownloadItem::IN_PROGRESS, download->GetState());
833 scoped_ptr<ItemObserver> observer(new ItemObserver(download)); 833 scoped_ptr<ItemObserver> observer(new ItemObserver(download));
834 834
835 // Create and initialize the download file. We're bypassing the first part 835 // Create and initialize the download file. We're bypassing the first part
836 // of the download process and skipping to the part after the final file 836 // of the download process and skipping to the part after the final file
837 // name has been chosen, so we need to initialize the download file 837 // name has been chosen, so we need to initialize the download file
838 // properly. 838 // properly.
839 DownloadFile* download_file( 839 DownloadFile* download_file(
840 new DownloadFile(info.get(), new DownloadRequestHandle(), 840 new DownloadFile(info.get(), new DownloadRequestHandle(),
841 download_manager_)); 841 download_manager_));
842 download_file->Rename(cr_path); 842 download_file->Rename(cr_path);
(...skipping 14 matching lines...) Expand all
857 857
858 // Download is complete. 858 // Download is complete.
859 EXPECT_TRUE(GetActiveDownloadItem(0) == NULL); 859 EXPECT_TRUE(GetActiveDownloadItem(0) == NULL);
860 EXPECT_TRUE(observer->hit_state(DownloadItem::IN_PROGRESS)); 860 EXPECT_TRUE(observer->hit_state(DownloadItem::IN_PROGRESS));
861 EXPECT_FALSE(observer->hit_state(DownloadItem::CANCELLED)); 861 EXPECT_FALSE(observer->hit_state(DownloadItem::CANCELLED));
862 EXPECT_FALSE(observer->hit_state(DownloadItem::INTERRUPTED)); 862 EXPECT_FALSE(observer->hit_state(DownloadItem::INTERRUPTED));
863 EXPECT_TRUE(observer->hit_state(DownloadItem::COMPLETE)); 863 EXPECT_TRUE(observer->hit_state(DownloadItem::COMPLETE));
864 EXPECT_FALSE(observer->hit_state(DownloadItem::REMOVING)); 864 EXPECT_FALSE(observer->hit_state(DownloadItem::REMOVING));
865 EXPECT_TRUE(observer->was_updated()); 865 EXPECT_TRUE(observer->was_updated());
866 EXPECT_FALSE(observer->was_opened()); 866 EXPECT_FALSE(observer->was_opened());
867 EXPECT_FALSE(download->file_externally_removed()); 867 EXPECT_FALSE(download->GetFileExternallyRemoved());
868 EXPECT_EQ(DownloadItem::COMPLETE, download->state()); 868 EXPECT_EQ(DownloadItem::COMPLETE, download->GetState());
869 EXPECT_EQ(download_item_model->GetStatusText(), ASCIIToUTF16("")); 869 EXPECT_EQ(download_item_model->GetStatusText(), ASCIIToUTF16(""));
870 870
871 EXPECT_TRUE(file_util::PathExists(new_path)); 871 EXPECT_TRUE(file_util::PathExists(new_path));
872 EXPECT_FALSE(file_util::PathExists(cr_path)); 872 EXPECT_FALSE(file_util::PathExists(cr_path));
873 873
874 // Remove the downloaded file. 874 // Remove the downloaded file.
875 ASSERT_TRUE(file_util::Delete(new_path, false)); 875 ASSERT_TRUE(file_util::Delete(new_path, false));
876 download->OnDownloadedFileRemoved(); 876 download->OnDownloadedFileRemoved();
877 message_loop_.RunAllPending(); 877 message_loop_.RunAllPending();
878 878
879 EXPECT_TRUE(GetActiveDownloadItem(0) == NULL); 879 EXPECT_TRUE(GetActiveDownloadItem(0) == NULL);
880 EXPECT_TRUE(observer->hit_state(DownloadItem::IN_PROGRESS)); 880 EXPECT_TRUE(observer->hit_state(DownloadItem::IN_PROGRESS));
881 EXPECT_FALSE(observer->hit_state(DownloadItem::CANCELLED)); 881 EXPECT_FALSE(observer->hit_state(DownloadItem::CANCELLED));
882 EXPECT_FALSE(observer->hit_state(DownloadItem::INTERRUPTED)); 882 EXPECT_FALSE(observer->hit_state(DownloadItem::INTERRUPTED));
883 EXPECT_TRUE(observer->hit_state(DownloadItem::COMPLETE)); 883 EXPECT_TRUE(observer->hit_state(DownloadItem::COMPLETE));
884 EXPECT_FALSE(observer->hit_state(DownloadItem::REMOVING)); 884 EXPECT_FALSE(observer->hit_state(DownloadItem::REMOVING));
885 EXPECT_TRUE(observer->was_updated()); 885 EXPECT_TRUE(observer->was_updated());
886 EXPECT_FALSE(observer->was_opened()); 886 EXPECT_FALSE(observer->was_opened());
887 EXPECT_TRUE(download->file_externally_removed()); 887 EXPECT_TRUE(download->GetFileExternallyRemoved());
888 EXPECT_EQ(DownloadItem::COMPLETE, download->state()); 888 EXPECT_EQ(DownloadItem::COMPLETE, download->GetState());
889 EXPECT_EQ(download_item_model->GetStatusText(), 889 EXPECT_EQ(download_item_model->GetStatusText(),
890 l10n_util::GetStringUTF16(IDS_DOWNLOAD_STATUS_REMOVED)); 890 l10n_util::GetStringUTF16(IDS_DOWNLOAD_STATUS_REMOVED));
891 891
892 EXPECT_FALSE(file_util::PathExists(new_path)); 892 EXPECT_FALSE(file_util::PathExists(new_path));
893 } 893 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698