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

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

Issue 7646025: Detect file system errors during downloads. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years, 4 months 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 <string> 5 #include <string>
6 #include <set> 6 #include <set>
7 7
8 #include "base/file_util.h" 8 #include "base/file_util.h"
9 #include "base/i18n/number_formatting.h" 9 #include "base/i18n/number_formatting.h"
10 #include "base/i18n/rtl.h" 10 #include "base/i18n/rtl.h"
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
58 // download_manager_ first. 58 // download_manager_ first.
59 download_manager_ = NULL; 59 download_manager_ = NULL;
60 profile_.reset(NULL); 60 profile_.reset(NULL);
61 message_loop_.RunAllPending(); 61 message_loop_.RunAllPending();
62 } 62 }
63 63
64 void AddDownloadToFileManager(int id, DownloadFile* download_file) { 64 void AddDownloadToFileManager(int id, DownloadFile* download_file) {
65 file_manager()->downloads_[id] = download_file; 65 file_manager()->downloads_[id] = download_file;
66 } 66 }
67 67
68 void OnAllDataSaved(int32 download_id, int64 size, const std::string& hash) { 68 void OnResponseCompleted(int32 download_id, int64 size,
69 download_manager_->OnAllDataSaved(download_id, size, hash); 69 const std::string& hash) {
70 download_manager_->OnResponseCompleted(download_id, size, hash);
70 } 71 }
71 72
72 void FileSelected(const FilePath& path, void* params) { 73 void FileSelected(const FilePath& path, void* params) {
73 download_manager_->FileSelected(path, params); 74 download_manager_->FileSelected(path, params);
74 } 75 }
75 76
76 void ContinueDownloadWithPath(DownloadItem* download, const FilePath& path) { 77 void ContinueDownloadWithPath(DownloadItem* download, const FilePath& path) {
77 download_manager_->ContinueDownloadWithPath(download, path); 78 download_manager_->ContinueDownloadWithPath(download, path);
78 } 79 }
79 80
(...skipping 293 matching lines...) Expand 10 before | Expand all | Expand 10 after
373 DownloadItem* download = GetActiveDownloadItem(i); 374 DownloadItem* download = GetActiveDownloadItem(i);
374 ASSERT_TRUE(download != NULL); 375 ASSERT_TRUE(download != NULL);
375 if (kDownloadRenameCases[i].is_dangerous_file) 376 if (kDownloadRenameCases[i].is_dangerous_file)
376 download->MarkFileDangerous(); 377 download->MarkFileDangerous();
377 if (kDownloadRenameCases[i].is_dangerous_url) 378 if (kDownloadRenameCases[i].is_dangerous_url)
378 download->MarkUrlDangerous(); 379 download->MarkUrlDangerous();
379 380
380 int32* id_ptr = new int32; 381 int32* id_ptr = new int32;
381 *id_ptr = i; // Deleted in FileSelected(). 382 *id_ptr = i; // Deleted in FileSelected().
382 if (kDownloadRenameCases[i].finish_before_rename) { 383 if (kDownloadRenameCases[i].finish_before_rename) {
383 OnAllDataSaved(i, 1024, std::string("fake_hash")); 384 OnResponseCompleted(i, 1024, std::string("fake_hash"));
384 message_loop_.RunAllPending(); 385 message_loop_.RunAllPending();
385 FileSelected(new_path, id_ptr); 386 FileSelected(new_path, id_ptr);
386 } else { 387 } else {
387 FileSelected(new_path, id_ptr); 388 FileSelected(new_path, id_ptr);
388 message_loop_.RunAllPending(); 389 message_loop_.RunAllPending();
389 OnAllDataSaved(i, 1024, std::string("fake_hash")); 390 OnResponseCompleted(i, 1024, std::string("fake_hash"));
390 } 391 }
391 392
392 message_loop_.RunAllPending(); 393 message_loop_.RunAllPending();
393 EXPECT_TRUE(VerifySafetyState(kDownloadRenameCases[i].is_dangerous_file, 394 EXPECT_TRUE(VerifySafetyState(kDownloadRenameCases[i].is_dangerous_file,
394 kDownloadRenameCases[i].is_dangerous_url, 395 kDownloadRenameCases[i].is_dangerous_url,
395 i)); 396 i));
396 } 397 }
397 } 398 }
398 399
399 TEST_F(DownloadManagerTest, DownloadInterruptTest) { 400 TEST_F(DownloadManagerTest, DownloadInterruptTest) {
(...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after
598 // |download_file| is owned by DownloadFileManager. 599 // |download_file| is owned by DownloadFileManager.
599 AddDownloadToFileManager(info->download_id, download_file); 600 AddDownloadToFileManager(info->download_id, download_file);
600 601
601 ContinueDownloadWithPath(download, new_path); 602 ContinueDownloadWithPath(download, new_path);
602 message_loop_.RunAllPending(); 603 message_loop_.RunAllPending();
603 EXPECT_TRUE(GetActiveDownloadItem(0) != NULL); 604 EXPECT_TRUE(GetActiveDownloadItem(0) != NULL);
604 605
605 download_file->AppendDataToFile(kTestData, kTestDataLen); 606 download_file->AppendDataToFile(kTestData, kTestDataLen);
606 607
607 // Finish the download. 608 // Finish the download.
608 OnAllDataSaved(0, kTestDataLen, ""); 609 OnResponseCompleted(0, kTestDataLen, "");
609 message_loop_.RunAllPending(); 610 message_loop_.RunAllPending();
610 611
611 // Download is complete. 612 // Download is complete.
612 EXPECT_TRUE(GetActiveDownloadItem(0) == NULL); 613 EXPECT_TRUE(GetActiveDownloadItem(0) == NULL);
613 EXPECT_TRUE(observer->hit_state(DownloadItem::IN_PROGRESS)); 614 EXPECT_TRUE(observer->hit_state(DownloadItem::IN_PROGRESS));
614 EXPECT_FALSE(observer->hit_state(DownloadItem::CANCELLED)); 615 EXPECT_FALSE(observer->hit_state(DownloadItem::CANCELLED));
615 EXPECT_FALSE(observer->hit_state(DownloadItem::INTERRUPTED)); 616 EXPECT_FALSE(observer->hit_state(DownloadItem::INTERRUPTED));
616 EXPECT_TRUE(observer->hit_state(DownloadItem::COMPLETE)); 617 EXPECT_TRUE(observer->hit_state(DownloadItem::COMPLETE));
617 EXPECT_FALSE(observer->hit_state(DownloadItem::REMOVING)); 618 EXPECT_FALSE(observer->hit_state(DownloadItem::REMOVING));
618 EXPECT_TRUE(observer->was_updated()); 619 EXPECT_TRUE(observer->was_updated());
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
674 // |download_file| is owned by DownloadFileManager. 675 // |download_file| is owned by DownloadFileManager.
675 AddDownloadToFileManager(info->download_id, download_file); 676 AddDownloadToFileManager(info->download_id, download_file);
676 677
677 ContinueDownloadWithPath(download, new_path); 678 ContinueDownloadWithPath(download, new_path);
678 message_loop_.RunAllPending(); 679 message_loop_.RunAllPending();
679 EXPECT_TRUE(GetActiveDownloadItem(0) != NULL); 680 EXPECT_TRUE(GetActiveDownloadItem(0) != NULL);
680 681
681 download_file->AppendDataToFile(kTestData, kTestDataLen); 682 download_file->AppendDataToFile(kTestData, kTestDataLen);
682 683
683 // Finish the download. 684 // Finish the download.
684 OnAllDataSaved(0, kTestDataLen, ""); 685 OnResponseCompleted(0, kTestDataLen, "");
685 message_loop_.RunAllPending(); 686 message_loop_.RunAllPending();
686 687
687 // Download is complete. 688 // Download is complete.
688 EXPECT_TRUE(GetActiveDownloadItem(0) == NULL); 689 EXPECT_TRUE(GetActiveDownloadItem(0) == NULL);
689 EXPECT_TRUE(observer->hit_state(DownloadItem::IN_PROGRESS)); 690 EXPECT_TRUE(observer->hit_state(DownloadItem::IN_PROGRESS));
690 EXPECT_FALSE(observer->hit_state(DownloadItem::CANCELLED)); 691 EXPECT_FALSE(observer->hit_state(DownloadItem::CANCELLED));
691 EXPECT_FALSE(observer->hit_state(DownloadItem::INTERRUPTED)); 692 EXPECT_FALSE(observer->hit_state(DownloadItem::INTERRUPTED));
692 EXPECT_TRUE(observer->hit_state(DownloadItem::COMPLETE)); 693 EXPECT_TRUE(observer->hit_state(DownloadItem::COMPLETE));
693 EXPECT_FALSE(observer->hit_state(DownloadItem::REMOVING)); 694 EXPECT_FALSE(observer->hit_state(DownloadItem::REMOVING));
694 EXPECT_TRUE(observer->was_updated()); 695 EXPECT_TRUE(observer->was_updated());
(...skipping 18 matching lines...) Expand all
713 EXPECT_FALSE(observer->hit_state(DownloadItem::REMOVING)); 714 EXPECT_FALSE(observer->hit_state(DownloadItem::REMOVING));
714 EXPECT_TRUE(observer->was_updated()); 715 EXPECT_TRUE(observer->was_updated());
715 EXPECT_FALSE(observer->was_opened()); 716 EXPECT_FALSE(observer->was_opened());
716 EXPECT_TRUE(download->file_externally_removed()); 717 EXPECT_TRUE(download->file_externally_removed());
717 EXPECT_EQ(DownloadItem::COMPLETE, download->state()); 718 EXPECT_EQ(DownloadItem::COMPLETE, download->state());
718 EXPECT_EQ(download_item_model->GetStatusText(), 719 EXPECT_EQ(download_item_model->GetStatusText(),
719 l10n_util::GetStringUTF16(IDS_DOWNLOAD_STATUS_REMOVED)); 720 l10n_util::GetStringUTF16(IDS_DOWNLOAD_STATUS_REMOVED));
720 721
721 EXPECT_FALSE(file_util::PathExists(new_path)); 722 EXPECT_FALSE(file_util::PathExists(new_path));
722 } 723 }
OLDNEW
« chrome/browser/download/download_manager.cc ('K') | « chrome/browser/download/download_manager.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698