mock_download_item.h revision 7dbb3d5cf0c15f500944d211057644d6a2f37371
1651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// Copyright (c) 2012 The Chromium Authors. All rights reserved.
2651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// Use of this source code is governed by a BSD-style license that can be
3651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// found in the LICENSE file.
4651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines
5651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines#ifndef CONTENT_PUBLIC_TEST_MOCK_DOWNLOAD_ITEM_H_
6651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines#define CONTENT_PUBLIC_TEST_MOCK_DOWNLOAD_ITEM_H_
7651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines
8651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines#include "base/callback.h"
9651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines#include "base/time/time.h"
10651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines#include "content/public/browser/download_interrupt_reasons.h"
11651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines#include "content/public/browser/download_item.h"
12ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#include "testing/gmock/include/gmock/gmock.h"
13ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#include "testing/gtest/include/gtest/gtest.h"
14ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#include "url/gurl.h"
15ef8225444452a1486bd721f3285301fe84643b00Stephen Hines
16ef8225444452a1486bd721f3285301fe84643b00Stephen Hinesnamespace content {
17ef8225444452a1486bd721f3285301fe84643b00Stephen Hines
18ef8225444452a1486bd721f3285301fe84643b00Stephen Hinesclass MockDownloadItem : public DownloadItem {
19651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines public:
20651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  MockDownloadItem();
21651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  virtual ~MockDownloadItem();
22ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  MOCK_METHOD1(AddObserver, void(DownloadItem::Observer*));
23ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  MOCK_METHOD1(RemoveObserver, void(DownloadItem::Observer*));
24651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  MOCK_METHOD0(UpdateObservers, void());
25651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  MOCK_METHOD0(ValidateDangerousDownload, void());
26651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  MOCK_METHOD1(StealDangerousDownload, void(const AcquireFileCallback&));
27ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  MOCK_METHOD0(Pause, void());
28651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  MOCK_METHOD0(Resume, void());
29651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  MOCK_METHOD1(Cancel, void(bool));
30651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  MOCK_METHOD0(Remove, void());
31651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  MOCK_METHOD0(OpenDownload, void());
32ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  MOCK_METHOD0(ShowDownloadInShell, void());
33651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  MOCK_CONST_METHOD0(GetId, uint32());
34651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  MOCK_CONST_METHOD0(GetState, DownloadState());
35651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  MOCK_CONST_METHOD0(GetLastReason, DownloadInterruptReason());
36ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  MOCK_CONST_METHOD0(IsPaused, bool());
37ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  MOCK_CONST_METHOD0(IsTemporary, bool());
38651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  MOCK_CONST_METHOD0(CanResume, bool());
39651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  MOCK_CONST_METHOD0(IsDone, bool());
40651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  MOCK_CONST_METHOD0(GetURL, const GURL&());
41651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  MOCK_CONST_METHOD0(GetUrlChain, const std::vector<GURL>&());
42651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  MOCK_CONST_METHOD0(GetOriginalUrl, const GURL&());
43651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  MOCK_CONST_METHOD0(GetReferrerUrl, const GURL&());
44651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  MOCK_CONST_METHOD0(GetSuggestedFilename, std::string());
45651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  MOCK_CONST_METHOD0(GetContentDisposition, std::string());
46651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  MOCK_CONST_METHOD0(GetMimeType, std::string());
47651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  MOCK_CONST_METHOD0(GetOriginalMimeType, std::string());
48651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  MOCK_CONST_METHOD0(GetReferrerCharset, std::string());
49651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  MOCK_CONST_METHOD0(GetRemoteAddress, std::string());
50651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  MOCK_CONST_METHOD0(HasUserGesture, bool());
51651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  MOCK_CONST_METHOD0(GetTransitionType, PageTransition());
52651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  MOCK_CONST_METHOD0(GetLastModifiedTime, const std::string&());
53651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  MOCK_CONST_METHOD0(GetETag, const std::string&());
54651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  MOCK_CONST_METHOD0(IsSavePackageDownload, bool());
55651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  MOCK_CONST_METHOD0(GetFullPath, const base::FilePath&());
56651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  MOCK_CONST_METHOD0(GetTargetFilePath, const base::FilePath&());
57651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  MOCK_CONST_METHOD0(GetForcedFilePath, const base::FilePath&());
58651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  MOCK_CONST_METHOD0(GetFileNameToReportUser, base::FilePath());
59651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  MOCK_CONST_METHOD0(GetTargetDisposition, TargetDisposition());
606bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines  MOCK_CONST_METHOD0(GetHash, const std::string&());
616bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines  MOCK_CONST_METHOD0(GetHashState, const std::string&());
626bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines  MOCK_CONST_METHOD0(GetFileExternallyRemoved, bool());
636bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines  MOCK_CONST_METHOD0(IsDangerous, bool());
646bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines  MOCK_CONST_METHOD0(GetDangerType, DownloadDangerType());
656bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines  MOCK_CONST_METHOD1(TimeRemaining, bool(base::TimeDelta*));
666bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines  MOCK_CONST_METHOD0(CurrentSpeed, int64());
676bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines  MOCK_CONST_METHOD0(PercentComplete, int());
68651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  MOCK_CONST_METHOD0(AllDataSaved, bool());
69651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  MOCK_CONST_METHOD0(GetTotalBytes, int64());
70651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  MOCK_CONST_METHOD0(GetReceivedBytes, int64());
71651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  MOCK_CONST_METHOD0(GetStartTime, base::Time());
72651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  MOCK_CONST_METHOD0(GetEndTime, base::Time());
736bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines  MOCK_METHOD0(CanShowInFolder, bool());
746bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines  MOCK_METHOD0(CanOpenDownload, bool());
756bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines  MOCK_METHOD0(ShouldOpenFileBasedOnExtension, bool());
766bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines  MOCK_CONST_METHOD0(GetOpenWhenComplete, bool());
776bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines  MOCK_METHOD0(GetAutoOpened, bool());
786bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines  MOCK_CONST_METHOD0(GetOpened, bool());
796bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines  MOCK_CONST_METHOD0(GetBrowserContext, BrowserContext*());
806bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines  MOCK_CONST_METHOD0(GetWebContents, WebContents*());
816bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines  MOCK_METHOD1(OnContentCheckCompleted, void(DownloadDangerType));
826bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines  MOCK_METHOD1(SetOpenWhenComplete, void(bool));
836bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines  MOCK_METHOD1(SetIsTemporary, void(bool));
846bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines  MOCK_METHOD1(SetOpened, void(bool));
856bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines  MOCK_METHOD1(SetDisplayName, void(const base::FilePath&));
866bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines  MOCK_CONST_METHOD1(DebugString, std::string(bool));
876bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines};
886bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines
896bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines}  // namespace content
906bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines
916bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines#endif  // CONTENT_PUBLIC_TEST_MOCK_DOWNLOAD_ITEM_H_
926bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines