blob: 7d6901d79d84ce867e633a555447e7a53bf3b223 [file] [log] [blame]
//
// 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_