| Index: chrome/browser/android/download/download_manager_service_unittest.cc
|
| diff --git a/chrome/browser/android/download/download_manager_service_unittest.cc b/chrome/browser/android/download/download_manager_service_unittest.cc
|
| index 7b26c2a7546a287078a5b05a70ef79507a785f7c..b987c8b4f72dea7780e239fc77f927ccda07d16a 100644
|
| --- a/chrome/browser/android/download/download_manager_service_unittest.cc
|
| +++ b/chrome/browser/android/download/download_manager_service_unittest.cc
|
| @@ -12,6 +12,8 @@
|
| #include "content/public/browser/download_item.h"
|
| #include "content/public/browser/download_manager.h"
|
| #include "content/public/browser/download_url_parameters.h"
|
| +#include "content/public/test/mock_download_item.h"
|
| +#include "content/public/test/mock_download_manager.h"
|
| #include "testing/gmock/include/gmock/gmock.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
| #include "url/origin.h"
|
| @@ -25,143 +27,6 @@ class DownloadManagerDelegate;
|
| struct DownloadCreateInfo;
|
| }
|
|
|
| -// Mock implementation of content::DownloadItem.
|
| -class MockDownloadItem : public content::DownloadItem {
|
| - public:
|
| - explicit MockDownloadItem(bool can_resume) : can_resume_(can_resume) {}
|
| - ~MockDownloadItem() override {}
|
| - bool CanResume() const override { return can_resume_; }
|
| -
|
| - MOCK_METHOD1(AddObserver, void(content::DownloadItem::Observer*));
|
| - MOCK_METHOD1(RemoveObserver, void(content::DownloadItem::Observer*));
|
| - MOCK_METHOD0(UpdateObservers, void());
|
| - MOCK_METHOD0(ValidateDangerousDownload, void());
|
| - MOCK_METHOD1(StealDangerousDownload,
|
| - void(const content::DownloadItem::AcquireFileCallback&));
|
| - MOCK_METHOD0(Pause, void());
|
| - MOCK_METHOD0(Resume, void());
|
| - MOCK_METHOD1(Cancel, void(bool));
|
| - MOCK_METHOD0(Remove, void());
|
| - MOCK_METHOD0(OpenDownload, void());
|
| - MOCK_METHOD0(ShowDownloadInShell, void());
|
| - MOCK_CONST_METHOD0(GetId, uint32_t());
|
| - MOCK_CONST_METHOD0(GetState, content::DownloadItem::DownloadState());
|
| - MOCK_CONST_METHOD0(GetLastReason, content::DownloadInterruptReason());
|
| - MOCK_CONST_METHOD0(IsPaused, bool());
|
| - MOCK_CONST_METHOD0(IsTemporary, bool());
|
| - MOCK_CONST_METHOD0(IsDone, bool());
|
| - MOCK_CONST_METHOD0(GetURL, const GURL&());
|
| - MOCK_CONST_METHOD0(GetUrlChain, std::vector<GURL>&());
|
| - MOCK_CONST_METHOD0(GetOriginalUrl, const GURL&());
|
| - MOCK_CONST_METHOD0(GetReferrerUrl, const GURL&());
|
| - MOCK_CONST_METHOD0(GetTabUrl, const GURL&());
|
| - MOCK_CONST_METHOD0(GetTabReferrerUrl, const GURL&());
|
| - MOCK_CONST_METHOD0(GetSuggestedFilename, std::string());
|
| - MOCK_CONST_METHOD0(GetContentDisposition, std::string());
|
| - MOCK_CONST_METHOD0(GetMimeType, std::string());
|
| - MOCK_CONST_METHOD0(GetOriginalMimeType, std::string());
|
| - MOCK_CONST_METHOD0(GetRemoteAddress, std::string());
|
| - MOCK_CONST_METHOD0(HasUserGesture, bool());
|
| - MOCK_CONST_METHOD0(GetTransitionType, ui::PageTransition());
|
| - MOCK_CONST_METHOD0(GetLastModifiedTime, const std::string&());
|
| - MOCK_CONST_METHOD0(GetETag, const std::string&());
|
| - MOCK_CONST_METHOD0(IsSavePackageDownload, bool());
|
| - MOCK_CONST_METHOD0(GetFullPath, const base::FilePath&());
|
| - MOCK_CONST_METHOD0(GetTargetFilePath, const base::FilePath&());
|
| - MOCK_CONST_METHOD0(GetForcedFilePath, const base::FilePath&());
|
| - MOCK_CONST_METHOD0(GetFileNameToReportUser, base::FilePath());
|
| - MOCK_CONST_METHOD0(GetTargetDisposition,
|
| - content::DownloadItem::TargetDisposition());
|
| - MOCK_CONST_METHOD0(GetHash, const std::string&());
|
| - MOCK_CONST_METHOD0(GetHashState, const std::string&());
|
| - MOCK_CONST_METHOD0(GetFileExternallyRemoved, bool());
|
| - MOCK_METHOD1(DeleteFile, void(const base::Callback<void(bool)>&));
|
| - MOCK_CONST_METHOD0(IsDangerous, bool());
|
| - MOCK_CONST_METHOD0(GetDangerType, content::DownloadDangerType());
|
| - MOCK_CONST_METHOD1(TimeRemaining, bool(base::TimeDelta*));
|
| - MOCK_CONST_METHOD0(CurrentSpeed, int64_t());
|
| - MOCK_CONST_METHOD0(PercentComplete, int());
|
| - MOCK_CONST_METHOD0(AllDataSaved, bool());
|
| - MOCK_CONST_METHOD0(GetTotalBytes, int64_t());
|
| - MOCK_CONST_METHOD0(GetReceivedBytes, int64_t());
|
| - MOCK_CONST_METHOD0(GetStartTime, base::Time());
|
| - MOCK_CONST_METHOD0(GetEndTime, base::Time());
|
| - MOCK_METHOD0(CanShowInFolder, bool());
|
| - MOCK_METHOD0(CanOpenDownload, bool());
|
| - MOCK_METHOD0(ShouldOpenFileBasedOnExtension, bool());
|
| - MOCK_CONST_METHOD0(GetOpenWhenComplete, bool());
|
| - MOCK_METHOD0(GetAutoOpened, bool());
|
| - MOCK_CONST_METHOD0(GetOpened, bool());
|
| - MOCK_CONST_METHOD0(GetBrowserContext, content::BrowserContext*());
|
| - MOCK_CONST_METHOD0(GetWebContents, content::WebContents*());
|
| - MOCK_METHOD1(OnContentCheckCompleted, void(content::DownloadDangerType));
|
| - MOCK_METHOD1(SetOpenWhenComplete, void(bool));
|
| - MOCK_METHOD1(SetIsTemporary, void(bool));
|
| - MOCK_METHOD1(SetOpened, void(bool));
|
| - MOCK_METHOD1(SetDisplayName, void(const base::FilePath&));
|
| - MOCK_CONST_METHOD1(DebugString, std::string(bool));
|
| -
|
| - private:
|
| - bool can_resume_;
|
| -};
|
| -
|
| -// Mock implementation of content::DownloadManager.
|
| -class MockDownloadManager : public content::DownloadManager {
|
| - public:
|
| - MockDownloadManager() {}
|
| - ~MockDownloadManager() override {}
|
| -
|
| - MOCK_METHOD1(SetDelegate, void(content::DownloadManagerDelegate*));
|
| - MOCK_CONST_METHOD0(GetDelegate, content::DownloadManagerDelegate*());
|
| - MOCK_METHOD0(Shutdown, void());
|
| - MOCK_METHOD1(GetAllDownloads, void(DownloadVector*));
|
| - MOCK_METHOD3(RemoveDownloadsByURLAndTime,
|
| - int(const base::Callback<bool(const GURL&)>& url_filter,
|
| - base::Time,
|
| - base::Time));
|
| - MOCK_METHOD2(RemoveDownloadsBetween, int(base::Time, base::Time));
|
| - MOCK_METHOD1(RemoveDownloads, int(base::Time));
|
| - MOCK_METHOD0(RemoveAllDownloads, int());
|
| - void DownloadUrl(scoped_ptr<content::DownloadUrlParameters>) override {}
|
| - MOCK_METHOD1(AddObserver, void(content::DownloadManager::Observer*));
|
| - MOCK_METHOD1(RemoveObserver, void(content::DownloadManager::Observer*));
|
| - MOCK_CONST_METHOD0(InProgressCount, int());
|
| - MOCK_CONST_METHOD0(NonMaliciousInProgressCount, int());
|
| - MOCK_CONST_METHOD0(GetBrowserContext, content::BrowserContext*());
|
| - MOCK_METHOD0(CheckForHistoryFilesRemoval, void());
|
| - void StartDownload(
|
| - scoped_ptr<content::DownloadCreateInfo>,
|
| - scoped_ptr<content::ByteStreamReader>,
|
| - const content::DownloadUrlParameters::OnStartedCallback&) override {}
|
| - content::DownloadItem* CreateDownloadItem(
|
| - uint32_t id,
|
| - const base::FilePath& current_path,
|
| - const base::FilePath& target_path,
|
| - const std::vector<GURL>& url_chain,
|
| - const GURL& referrer_url,
|
| - const std::string& mime_type,
|
| - const std::string& original_mime_type,
|
| - const base::Time& start_time,
|
| - const base::Time& end_time,
|
| - const std::string& etag,
|
| - const std::string& last_modified,
|
| - int64_t received_bytes,
|
| - int64_t total_bytes,
|
| - content::DownloadItem::DownloadState state,
|
| - content::DownloadDangerType danger_type,
|
| - content::DownloadInterruptReason interrupt_reason,
|
| - bool opened) override {
|
| - return nullptr;
|
| - }
|
| - content::DownloadItem* GetDownload(uint32_t id) override {
|
| - return download_item_.get();
|
| - }
|
| - void SetDownload(MockDownloadItem* item) { download_item_.reset(item); }
|
| -
|
| - private:
|
| - scoped_ptr<MockDownloadItem> download_item_;
|
| -};
|
| -
|
| class DownloadManagerServiceTest : public testing::Test {
|
| public:
|
| DownloadManagerServiceTest()
|
| @@ -170,7 +35,11 @@ class DownloadManagerServiceTest : public testing::Test {
|
| nullptr,
|
| &manager_)),
|
| finished_(false),
|
| - success_(false) {}
|
| + success_(false) {
|
| + ON_CALL(manager_, GetDownload(_))
|
| + .WillByDefault(
|
| + ::testing::Invoke(this, &DownloadManagerServiceTest::GetDownload));
|
| + }
|
|
|
| void OnResumptionDone(bool success) {
|
| finished_ = true;
|
| @@ -189,12 +58,17 @@ class DownloadManagerServiceTest : public testing::Test {
|
| }
|
|
|
| void CreateDownloadItem(bool can_resume) {
|
| - manager_.SetDownload(new MockDownloadItem(can_resume));
|
| + download_.reset(new content::MockDownloadItem());
|
| + ON_CALL(*download_, CanResume())
|
| + .WillByDefault(::testing::Return(can_resume));
|
| }
|
|
|
| protected:
|
| + content::DownloadItem* GetDownload(uint32_t) { return download_.get(); }
|
| +
|
| base::MessageLoop message_loop_;
|
| - MockDownloadManager manager_;
|
| + scoped_ptr<content::MockDownloadItem> download_;
|
| + content::MockDownloadManager manager_;
|
| DownloadManagerService* service_;
|
| bool finished_;
|
| bool success_;
|
|
|