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

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

Powered by Google App Engine
This is Rietveld 408576698