blob: 8079e4c3319c11b7e4ea43fb96c6f36b8e1b649e [file] [log] [blame] [edit]
//
// 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_METHOD6(setData,
angle::Result(const gl::Context *,
gl::BufferBinding,
const void *,
size_t,
gl::BufferUsage,
BufferFeedback *));
MOCK_METHOD6(setSubData,
angle::Result(const gl::Context *,
gl::BufferBinding,
const void *,
size_t,
size_t,
BufferFeedback *));
MOCK_METHOD6(copySubData,
angle::Result(const gl::Context *contextImpl,
BufferImpl *,
GLintptr,
GLintptr,
GLsizeiptr,
BufferFeedback *));
MOCK_METHOD4(map,
angle::Result(const gl::Context *contextImpl, GLenum, void **, BufferFeedback *));
MOCK_METHOD6(mapRange,
angle::Result(const gl::Context *contextImpl,
size_t,
size_t,
GLbitfield,
void **,
BufferFeedback *));
MOCK_METHOD3(unmap,
angle::Result(const gl::Context *contextImpl,
GLboolean *result,
BufferFeedback *));
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_