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

Side by Side Diff: content/browser/download/download_item_impl_unittest.cc

Issue 11640007: Make the UI an observer of downloads. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years 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) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "base/message_loop.h" 5 #include "base/message_loop.h"
6 #include "base/stl_util.h" 6 #include "base/stl_util.h"
7 #include "base/threading/thread.h" 7 #include "base/threading/thread.h"
8 #include "content/browser/download/byte_stream.h" 8 #include "content/browser/download/byte_stream.h"
9 #include "content/browser/download/download_create_info.h" 9 #include "content/browser/download/download_create_info.h"
10 #include "content/browser/download/download_file_factory.h" 10 #include "content/browser/download/download_file_factory.h"
(...skipping 25 matching lines...) Expand all
36 MOCK_METHOD2(DetermineDownloadTarget, void( 36 MOCK_METHOD2(DetermineDownloadTarget, void(
37 DownloadItemImpl*, const DownloadTargetCallback&)); 37 DownloadItemImpl*, const DownloadTargetCallback&));
38 MOCK_METHOD2(ShouldOpenDownload, 38 MOCK_METHOD2(ShouldOpenDownload,
39 bool(DownloadItemImpl*, const ShouldOpenDownloadCallback&)); 39 bool(DownloadItemImpl*, const ShouldOpenDownloadCallback&));
40 MOCK_METHOD1(ShouldOpenFileBasedOnExtension, bool(const FilePath&)); 40 MOCK_METHOD1(ShouldOpenFileBasedOnExtension, bool(const FilePath&));
41 MOCK_METHOD1(CheckForFileRemoval, void(DownloadItemImpl*)); 41 MOCK_METHOD1(CheckForFileRemoval, void(DownloadItemImpl*));
42 MOCK_CONST_METHOD0(GetBrowserContext, BrowserContext*()); 42 MOCK_CONST_METHOD0(GetBrowserContext, BrowserContext*());
43 MOCK_METHOD1(UpdatePersistence, void(DownloadItemImpl*)); 43 MOCK_METHOD1(UpdatePersistence, void(DownloadItemImpl*));
44 MOCK_METHOD1(DownloadOpened, void(DownloadItemImpl*)); 44 MOCK_METHOD1(DownloadOpened, void(DownloadItemImpl*));
45 MOCK_METHOD1(DownloadRemoved, void(DownloadItemImpl*)); 45 MOCK_METHOD1(DownloadRemoved, void(DownloadItemImpl*));
46 MOCK_METHOD1(ShowDownloadInBrowser, void(DownloadItemImpl*));
47 MOCK_CONST_METHOD1(AssertStateConsistent, void(DownloadItemImpl*)); 46 MOCK_CONST_METHOD1(AssertStateConsistent, void(DownloadItemImpl*));
48 }; 47 };
49 48
50 class MockRequestHandle : public DownloadRequestHandleInterface { 49 class MockRequestHandle : public DownloadRequestHandleInterface {
51 public: 50 public:
52 MOCK_CONST_METHOD0(GetWebContents, WebContents*()); 51 MOCK_CONST_METHOD0(GetWebContents, WebContents*());
53 MOCK_CONST_METHOD0(GetDownloadManager, DownloadManager*()); 52 MOCK_CONST_METHOD0(GetDownloadManager, DownloadManager*());
54 MOCK_CONST_METHOD0(PauseRequest, void()); 53 MOCK_CONST_METHOD0(PauseRequest, void());
55 MOCK_CONST_METHOD0(ResumeRequest, void()); 54 MOCK_CONST_METHOD0(ResumeRequest, void());
56 MOCK_CONST_METHOD0(CancelRequest, void()); 55 MOCK_CONST_METHOD0(CancelRequest, void());
(...skipping 390 matching lines...) Expand 10 before | Expand all | Expand 10 after
447 DownloadItemImpl* item = CreateDownloadItem(DownloadItem::IN_PROGRESS); 446 DownloadItemImpl* item = CreateDownloadItem(DownloadItem::IN_PROGRESS);
448 DownloadItemImplDelegate::DownloadTargetCallback callback; 447 DownloadItemImplDelegate::DownloadTargetCallback callback;
449 MockDownloadFile* download_file = 448 MockDownloadFile* download_file =
450 AddDownloadFileToDownloadItem(item, &callback); 449 AddDownloadFileToDownloadItem(item, &callback);
451 FilePath final_path(FilePath(kDummyPath).AppendASCII("foo.bar")); 450 FilePath final_path(FilePath(kDummyPath).AppendASCII("foo.bar"));
452 FilePath intermediate_path(final_path.InsertBeforeExtensionASCII("x")); 451 FilePath intermediate_path(final_path.InsertBeforeExtensionASCII("x"));
453 FilePath new_intermediate_path(final_path.InsertBeforeExtensionASCII("y")); 452 FilePath new_intermediate_path(final_path.InsertBeforeExtensionASCII("y"));
454 EXPECT_CALL(*download_file, RenameAndUniquify(intermediate_path, _)) 453 EXPECT_CALL(*download_file, RenameAndUniquify(intermediate_path, _))
455 .WillOnce(ScheduleRenameCallback(DOWNLOAD_INTERRUPT_REASON_NONE, 454 .WillOnce(ScheduleRenameCallback(DOWNLOAD_INTERRUPT_REASON_NONE,
456 new_intermediate_path)); 455 new_intermediate_path));
457 EXPECT_CALL(*mock_delegate(), ShowDownloadInBrowser(item))
458 .Times(1);
459 456
460 callback.Run(final_path, DownloadItem::TARGET_DISPOSITION_OVERWRITE, 457 callback.Run(final_path, DownloadItem::TARGET_DISPOSITION_OVERWRITE,
461 DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS, intermediate_path); 458 DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS, intermediate_path);
462 RunAllPendingInMessageLoops(); 459 RunAllPendingInMessageLoops();
463 // All the callbacks should have happened by now. 460 // All the callbacks should have happened by now.
464 ::testing::Mock::VerifyAndClearExpectations(download_file); 461 ::testing::Mock::VerifyAndClearExpectations(download_file);
465 ::testing::Mock::VerifyAndClearExpectations(mock_delegate()); 462 ::testing::Mock::VerifyAndClearExpectations(mock_delegate());
466 463
467 EXPECT_CALL(*download_file, RenameAndAnnotate(final_path, _)) 464 EXPECT_CALL(*download_file, RenameAndAnnotate(final_path, _))
468 .WillOnce(ScheduleRenameCallback(DOWNLOAD_INTERRUPT_REASON_NONE, 465 .WillOnce(ScheduleRenameCallback(DOWNLOAD_INTERRUPT_REASON_NONE,
(...skipping 15 matching lines...) Expand all
484 MockDownloadFile* download_file = 481 MockDownloadFile* download_file =
485 AddDownloadFileToDownloadItem(item, &callback); 482 AddDownloadFileToDownloadItem(item, &callback);
486 FilePath final_path(FilePath(kDummyPath).AppendASCII("foo.bar")); 483 FilePath final_path(FilePath(kDummyPath).AppendASCII("foo.bar"));
487 FilePath intermediate_path(final_path.InsertBeforeExtensionASCII("x")); 484 FilePath intermediate_path(final_path.InsertBeforeExtensionASCII("x"));
488 FilePath new_intermediate_path(final_path.InsertBeforeExtensionASCII("y")); 485 FilePath new_intermediate_path(final_path.InsertBeforeExtensionASCII("y"));
489 EXPECT_CALL(*download_file, RenameAndUniquify(intermediate_path, _)) 486 EXPECT_CALL(*download_file, RenameAndUniquify(intermediate_path, _))
490 .WillOnce(ScheduleRenameCallback(DOWNLOAD_INTERRUPT_REASON_FILE_FAILED, 487 .WillOnce(ScheduleRenameCallback(DOWNLOAD_INTERRUPT_REASON_FILE_FAILED,
491 new_intermediate_path)); 488 new_intermediate_path));
492 EXPECT_CALL(*download_file, Cancel()) 489 EXPECT_CALL(*download_file, Cancel())
493 .Times(1); 490 .Times(1);
494 EXPECT_CALL(*mock_delegate(), ShowDownloadInBrowser(item))
495 .Times(1);
496 491
497 callback.Run(final_path, DownloadItem::TARGET_DISPOSITION_OVERWRITE, 492 callback.Run(final_path, DownloadItem::TARGET_DISPOSITION_OVERWRITE,
498 DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS, intermediate_path); 493 DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS, intermediate_path);
499 RunAllPendingInMessageLoops(); 494 RunAllPendingInMessageLoops();
500 // All the callbacks should have happened by now. 495 // All the callbacks should have happened by now.
501 ::testing::Mock::VerifyAndClearExpectations(download_file); 496 ::testing::Mock::VerifyAndClearExpectations(download_file);
502 ::testing::Mock::VerifyAndClearExpectations(mock_delegate()); 497 ::testing::Mock::VerifyAndClearExpectations(mock_delegate());
503 } 498 }
504 499
505 TEST_F(DownloadItemTest, Interrupted) { 500 TEST_F(DownloadItemTest, Interrupted) {
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
617 EXPECT_EQ("livebeef", item->GetHash()); 612 EXPECT_EQ("livebeef", item->GetHash());
618 EXPECT_EQ("", item->GetHashState()); 613 EXPECT_EQ("", item->GetHashState());
619 EXPECT_TRUE(item->AllDataSaved()); 614 EXPECT_TRUE(item->AllDataSaved());
620 } 615 }
621 616
622 TEST(MockDownloadItem, Compiles) { 617 TEST(MockDownloadItem, Compiles) {
623 MockDownloadItem mock_item; 618 MockDownloadItem mock_item;
624 } 619 }
625 620
626 } // namespace content 621 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698