| 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 <set> | 5 #include <set> |
| 6 #include <string> | 6 #include <string> |
| 7 | 7 |
| 8 #include "base/bind.h" | 8 #include "base/bind.h" |
| 9 #include "base/files/scoped_temp_dir.h" | 9 #include "base/files/scoped_temp_dir.h" |
| 10 #include "base/memory/scoped_ptr.h" | 10 #include "base/memory/scoped_ptr.h" |
| (...skipping 426 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 437 next_download_id_(0) { | 437 next_download_id_(0) { |
| 438 } | 438 } |
| 439 | 439 |
| 440 // We tear down everything in TearDown(). | 440 // We tear down everything in TearDown(). |
| 441 virtual ~DownloadManagerTest() {} | 441 virtual ~DownloadManagerTest() {} |
| 442 | 442 |
| 443 // Create a MockDownloadItemFactory and MockDownloadManagerDelegate, | 443 // Create a MockDownloadItemFactory and MockDownloadManagerDelegate, |
| 444 // then create a DownloadManager that points | 444 // then create a DownloadManager that points |
| 445 // at all of those. | 445 // at all of those. |
| 446 virtual void SetUp() { | 446 virtual void SetUp() { |
| 447 DCHECK(!download_manager_.get()); | 447 DCHECK(!download_manager_); |
| 448 | 448 |
| 449 mock_download_item_factory_ = (new MockDownloadItemFactory())->AsWeakPtr(); | 449 mock_download_item_factory_ = (new MockDownloadItemFactory())->AsWeakPtr(); |
| 450 mock_download_file_factory_ = (new MockDownloadFileFactory())->AsWeakPtr(); | 450 mock_download_file_factory_ = (new MockDownloadFileFactory())->AsWeakPtr(); |
| 451 mock_download_manager_delegate_.reset( | 451 mock_download_manager_delegate_.reset( |
| 452 new StrictMock<MockDownloadManagerDelegate>); | 452 new StrictMock<MockDownloadManagerDelegate>); |
| 453 EXPECT_CALL(*mock_download_manager_delegate_.get(), Shutdown()) | 453 EXPECT_CALL(*mock_download_manager_delegate_.get(), Shutdown()) |
| 454 .WillOnce(Return()); | 454 .WillOnce(Return()); |
| 455 mock_browser_context_.reset(new StrictMock<MockBrowserContext>); | 455 mock_browser_context_.reset(new StrictMock<MockBrowserContext>); |
| 456 EXPECT_CALL(*mock_browser_context_.get(), IsOffTheRecord()) | 456 EXPECT_CALL(*mock_browser_context_.get(), IsOffTheRecord()) |
| 457 .WillRepeatedly(Return(false)); | 457 .WillRepeatedly(Return(false)); |
| 458 | 458 |
| 459 download_manager_ = new DownloadManagerImpl( | 459 download_manager_.reset(new DownloadManagerImpl( |
| 460 NULL, mock_browser_context_.get()); | 460 NULL, mock_browser_context_.get())); |
| 461 download_manager_->SetDownloadItemFactoryForTesting( | 461 download_manager_->SetDownloadItemFactoryForTesting( |
| 462 scoped_ptr<DownloadItemFactory>( | 462 scoped_ptr<DownloadItemFactory>( |
| 463 mock_download_item_factory_.get()).Pass()); | 463 mock_download_item_factory_.get()).Pass()); |
| 464 download_manager_->SetDownloadFileFactoryForTesting( | 464 download_manager_->SetDownloadFileFactoryForTesting( |
| 465 scoped_ptr<DownloadFileFactory>( | 465 scoped_ptr<DownloadFileFactory>( |
| 466 mock_download_file_factory_.get()).Pass()); | 466 mock_download_file_factory_.get()).Pass()); |
| 467 observer_.reset(new MockDownloadManagerObserver()); | 467 observer_.reset(new MockDownloadManagerObserver()); |
| 468 download_manager_->AddObserver(observer_.get()); | 468 download_manager_->AddObserver(observer_.get()); |
| 469 download_manager_->SetDelegate(mock_download_manager_delegate_.get()); | 469 download_manager_->SetDelegate(mock_download_manager_delegate_.get()); |
| 470 } | 470 } |
| 471 | 471 |
| 472 virtual void TearDown() { | 472 virtual void TearDown() { |
| 473 while (MockDownloadItemImpl* | 473 while (MockDownloadItemImpl* |
| 474 item = mock_download_item_factory_->PopItem()) { | 474 item = mock_download_item_factory_->PopItem()) { |
| 475 EXPECT_CALL(*item, IsDangerous()) | 475 EXPECT_CALL(*item, IsDangerous()) |
| 476 .WillOnce(Return(false)); | 476 .WillOnce(Return(false)); |
| 477 EXPECT_CALL(*item, IsPartialDownload()) | 477 EXPECT_CALL(*item, IsPartialDownload()) |
| 478 .WillOnce(Return(false)); | 478 .WillOnce(Return(false)); |
| 479 } | 479 } |
| 480 EXPECT_CALL(GetMockObserver(), ManagerGoingDown(download_manager_.get())) | 480 EXPECT_CALL(GetMockObserver(), ManagerGoingDown(download_manager_.get())) |
| 481 .WillOnce(Return()); | 481 .WillOnce(Return()); |
| 482 | 482 |
| 483 download_manager_->Shutdown(); | 483 download_manager_->Shutdown(); |
| 484 download_manager_ = NULL; | 484 download_manager_.reset(); |
| 485 message_loop_.RunUntilIdle(); | 485 message_loop_.RunUntilIdle(); |
| 486 ASSERT_EQ(NULL, mock_download_item_factory_.get()); | 486 ASSERT_EQ(NULL, mock_download_item_factory_.get()); |
| 487 ASSERT_EQ(NULL, mock_download_file_factory_.get()); | 487 ASSERT_EQ(NULL, mock_download_file_factory_.get()); |
| 488 message_loop_.RunUntilIdle(); | 488 message_loop_.RunUntilIdle(); |
| 489 mock_download_manager_delegate_.reset(); | 489 mock_download_manager_delegate_.reset(); |
| 490 mock_browser_context_.reset(); | 490 mock_browser_context_.reset(); |
| 491 } | 491 } |
| 492 | 492 |
| 493 // Returns download id. | 493 // Returns download id. |
| 494 MockDownloadItemImpl& AddItemToManager() { | 494 MockDownloadItemImpl& AddItemToManager() { |
| (...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 548 | 548 |
| 549 void DetermineDownloadTarget(DownloadItemImpl* item) { | 549 void DetermineDownloadTarget(DownloadItemImpl* item) { |
| 550 download_manager_->DetermineDownloadTarget( | 550 download_manager_->DetermineDownloadTarget( |
| 551 item, base::Bind( | 551 item, base::Bind( |
| 552 &DownloadManagerTest::DownloadTargetDeterminedCallback, | 552 &DownloadManagerTest::DownloadTargetDeterminedCallback, |
| 553 base::Unretained(this))); | 553 base::Unretained(this))); |
| 554 } | 554 } |
| 555 | 555 |
| 556 protected: | 556 protected: |
| 557 // Key test variable; we'll keep it available to sub-classes. | 557 // Key test variable; we'll keep it available to sub-classes. |
| 558 scoped_refptr<DownloadManagerImpl> download_manager_; | 558 scoped_ptr<DownloadManagerImpl> download_manager_; |
| 559 base::WeakPtr<MockDownloadFileFactory> mock_download_file_factory_; | 559 base::WeakPtr<MockDownloadFileFactory> mock_download_file_factory_; |
| 560 | 560 |
| 561 // Target detetermined callback. | 561 // Target detetermined callback. |
| 562 bool callback_called_; | 562 bool callback_called_; |
| 563 base::FilePath target_path_; | 563 base::FilePath target_path_; |
| 564 DownloadItem::TargetDisposition target_disposition_; | 564 DownloadItem::TargetDisposition target_disposition_; |
| 565 DownloadDangerType danger_type_; | 565 DownloadDangerType danger_type_; |
| 566 base::FilePath intermediate_path_; | 566 base::FilePath intermediate_path_; |
| 567 | 567 |
| 568 private: | 568 private: |
| (...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 680 .WillOnce(Return()); | 680 .WillOnce(Return()); |
| 681 EXPECT_CALL(GetMockDownloadItem(3), Remove()) | 681 EXPECT_CALL(GetMockDownloadItem(3), Remove()) |
| 682 .Times(0); | 682 .Times(0); |
| 683 | 683 |
| 684 download_manager_->RemoveAllDownloads(); | 684 download_manager_->RemoveAllDownloads(); |
| 685 // Because we're mocking the download item, the Remove call doesn't | 685 // Because we're mocking the download item, the Remove call doesn't |
| 686 // result in them being removed from the DownloadManager list. | 686 // result in them being removed from the DownloadManager list. |
| 687 } | 687 } |
| 688 | 688 |
| 689 } // namespace content | 689 } // namespace content |
| OLD | NEW |