| 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 |