// // Copyright 2015 The ANGLE Project Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // // BufferImpl_mock.h: Defines a mock of the BufferImpl class. #ifndef LIBANGLE_RENDERER_BUFFERIMPLMOCK_H_ #define LIBANGLE_RENDERER_BUFFERIMPLMOCK_H_ #include "gmock/gmock.h" #include "libANGLE/Buffer.h" #include "libANGLE/renderer/BufferImpl.h" namespace rx { class MockBufferImpl : public BufferImpl { public: MockBufferImpl() : BufferImpl(mMockState) {} ~MockBufferImpl() { destructor(); } MOCK_METHOD5(setData, angle::Result(const gl::Context *, gl::BufferBinding, const void *, size_t, gl::BufferUsage)); MOCK_METHOD5( setSubData, angle::Result(const gl::Context *, gl::BufferBinding, const void *, size_t, size_t)); MOCK_METHOD5(copySubData, angle::Result(const gl::Context *contextImpl, BufferImpl *, GLintptr, GLintptr, GLsizeiptr)); MOCK_METHOD3(map, angle::Result(const gl::Context *contextImpl, GLenum, void **)); MOCK_METHOD5( mapRange, angle::Result(const gl::Context *contextImpl, size_t, size_t, GLbitfield, void **)); MOCK_METHOD2(unmap, angle::Result(const gl::Context *contextImpl, GLboolean *result)); MOCK_METHOD6(getIndexRange, angle::Result(const gl::Context *, gl::DrawElementsType, size_t, size_t, bool, gl::IndexRange *)); MOCK_METHOD0(destructor, void()); protected: gl::BufferState mMockState; }; } // namespace rx #endif // LIBANGLE_RENDERER_BUFFERIMPLMOCK_H_