OLD | NEW |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 |
OLD | NEW |