// Copyright (c) 2010 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef CHROME_FRAME_TEST_URLMON_MONIKER_TESTS_H_ #define CHROME_FRAME_TEST_URLMON_MONIKER_TESTS_H_ #include #include #include "gmock/gmock.h" #include "gtest/gtest.h" class MockBindStatusCallbackImpl : public CComObjectRootEx, public IBindStatusCallback { public: BEGIN_COM_MAP(MockBindStatusCallbackImpl) COM_INTERFACE_ENTRY(IBindStatusCallback) END_COM_MAP() MOCK_METHOD2_WITH_CALLTYPE(__stdcall, OnStartBinding, HRESULT (DWORD reserved, IBinding* binding)); // NOLINT MOCK_METHOD1_WITH_CALLTYPE(__stdcall, GetPriority, HRESULT (LONG* priority)); // NOLINT MOCK_METHOD1_WITH_CALLTYPE(__stdcall, OnLowResource, HRESULT (DWORD reserved)); // NOLINT MOCK_METHOD4_WITH_CALLTYPE(__stdcall, OnProgress, HRESULT (ULONG progress, // NOLINT ULONG max, ULONG status, LPCWSTR text)); MOCK_METHOD2_WITH_CALLTYPE(__stdcall, OnStopBinding, HRESULT (HRESULT hr, // NOLINT LPCWSTR error)); MOCK_METHOD2_WITH_CALLTYPE(__stdcall, GetBindInfo, HRESULT (DWORD* flags, // NOLINT BINDINFO* bind_info)); MOCK_METHOD4_WITH_CALLTYPE(__stdcall, OnDataAvailable, HRESULT (DWORD flags, // NOLINT DWORD size, FORMATETC* format, STGMEDIUM* storage)); MOCK_METHOD2_WITH_CALLTYPE(__stdcall, OnObjectAvailable, HRESULT (REFIID riid, // NOLINT IUnknown* unk)); }; class MockBindCtxImpl : public CComObjectRootEx, public IBindCtx { public: BEGIN_COM_MAP(MockBindCtxImpl) COM_INTERFACE_ENTRY(IBindCtx) END_COM_MAP() MOCK_METHOD1_WITH_CALLTYPE(__stdcall, RegisterObjectBound, HRESULT (IUnknown* object)); // NOLINT MOCK_METHOD1_WITH_CALLTYPE(__stdcall, RevokeObjectBound, HRESULT (IUnknown* object)); // NOLINT MOCK_METHOD0_WITH_CALLTYPE(__stdcall, ReleaseBoundObjects, HRESULT ()); // NOLINT MOCK_METHOD1_WITH_CALLTYPE(__stdcall, SetBindOptions, HRESULT (BIND_OPTS* options)); // NOLINT MOCK_METHOD1_WITH_CALLTYPE(__stdcall, GetBindOptions, HRESULT (BIND_OPTS* options)); // NOLINT MOCK_METHOD1_WITH_CALLTYPE(__stdcall, GetRunningObjectTable, HRESULT (IRunningObjectTable** rot)); // NOLINT MOCK_METHOD2_WITH_CALLTYPE(__stdcall, RegisterObjectParam, HRESULT (LPOLESTR key, // NOLINT IUnknown* param)); MOCK_METHOD2_WITH_CALLTYPE(__stdcall, GetObjectParam, HRESULT (LPOLESTR key, // NOLINT IUnknown** param)); MOCK_METHOD1_WITH_CALLTYPE(__stdcall, EnumObjectParam, HRESULT (IEnumString** enum_params)); // NOLINT MOCK_METHOD1_WITH_CALLTYPE(__stdcall, RevokeObjectParam, HRESULT (LPOLESTR key)); // NOLINT }; class MockMonikerImpl : public CComObjectRootEx, public IMoniker { public: BEGIN_COM_MAP(MockMonikerImpl) COM_INTERFACE_ENTRY(IMoniker) END_COM_MAP() MOCK_METHOD4_WITH_CALLTYPE(__stdcall, BindToObject, HRESULT (IBindCtx* bind_context, // NOLINT IMoniker* left, REFIID result_iid, void** object)); MOCK_METHOD4_WITH_CALLTYPE(__stdcall, BindToStorage, HRESULT (IBindCtx* bind_context, // NOLINT IMoniker* left, REFIID result_iid, void** storage)); MOCK_METHOD4_WITH_CALLTYPE(__stdcall, Reduce, HRESULT (IBindCtx* bind_context, // NOLINT DWORD reduce_depth, IMoniker* left, IMoniker** reduced)); MOCK_METHOD3_WITH_CALLTYPE(__stdcall, ComposeWith, HRESULT (IBindCtx* right, // NOLINT BOOL is_not_generic, IMoniker** composite)); MOCK_METHOD2_WITH_CALLTYPE(__stdcall, Enum, HRESULT (BOOL is_forward, // NOLINT IEnumMoniker** moniker_enum)); MOCK_METHOD1_WITH_CALLTYPE(__stdcall, IsEqual, HRESULT (IMoniker* other)); // NOLINT MOCK_METHOD3_WITH_CALLTYPE(__stdcall, IsRunning, HRESULT (IBindCtx* bind_context, // NOLINT IMoniker* left, IMoniker** newly_running)); MOCK_METHOD3_WITH_CALLTYPE(__stdcall, GetTimeOfLastChange, HRESULT (IBindCtx* bind_context, // NOLINT IMoniker* left, FILETIME *pFileTime)); MOCK_METHOD1_WITH_CALLTYPE(__stdcall, Inverse, HRESULT (IMoniker** inversed)); // NOLINT MOCK_METHOD2_WITH_CALLTYPE(__stdcall, CommonPrefixWith, HRESULT (IMoniker* other, // NOLINT IMoniker** prefix)); MOCK_METHOD2_WITH_CALLTYPE(__stdcall, RelativePathTo, HRESULT (IMoniker* other, // NOLINT IMoniker** relative)); MOCK_METHOD3_WITH_CALLTYPE(__stdcall, GetDisplayName, HRESULT (IBindCtx* bind_context, // NOLINT IMoniker* left, LPOLESTR* display_name)); MOCK_METHOD5_WITH_CALLTYPE(__stdcall, ParseDisplayName, HRESULT (IBindCtx* bind_context, // NOLINT IMoniker* left, LPOLESTR display_name, ULONG *pchEaten, IMoniker** ret)); MOCK_METHOD1_WITH_CALLTYPE(__stdcall, IsSystemMoniker, HRESULT (DWORD* is_system)); // NOLINT }; #endif // CHROME_FRAME_TEST_URLMON_MONIKER_TESTS_H_