1 // 2 // Copyright 2015 The ANGLE Project Authors. All rights reserved. 3 // Use of this source code is governed by a BSD-style license that can be 4 // found in the LICENSE file. 5 // 6 7 // BufferImpl_mock.h: Defines a mock of the BufferImpl class. 8 9 #ifndef LIBANGLE_RENDERER_BUFFERIMPLMOCK_H_ 10 #define LIBANGLE_RENDERER_BUFFERIMPLMOCK_H_ 11 12 #include "gmock/gmock.h" 13 14 #include "libANGLE/Buffer.h" 15 #include "libANGLE/renderer/BufferImpl.h" 16 17 namespace rx 18 { 19 class MockBufferImpl : public BufferImpl 20 { 21 public: MockBufferImpl()22 MockBufferImpl() : BufferImpl(mMockState) {} ~MockBufferImpl()23 ~MockBufferImpl() { destructor(); } 24 25 MOCK_METHOD5( 26 setData, 27 gl::Error(const gl::Context *, gl::BufferBinding, const void *, size_t, gl::BufferUsage)); 28 MOCK_METHOD5(setSubData, 29 gl::Error(const gl::Context *, gl::BufferBinding, const void *, size_t, size_t)); 30 MOCK_METHOD5( 31 copySubData, 32 gl::Error(const gl::Context *contextImpl, BufferImpl *, GLintptr, GLintptr, GLsizeiptr)); 33 MOCK_METHOD3(map, gl::Error(const gl::Context *contextImpl, GLenum, void **)); 34 MOCK_METHOD5(mapRange, 35 gl::Error(const gl::Context *contextImpl, size_t, size_t, GLbitfield, void **)); 36 MOCK_METHOD2(unmap, gl::Error(const gl::Context *contextImpl, GLboolean *result)); 37 38 MOCK_METHOD6(getIndexRange, 39 gl::Error(const gl::Context *, GLenum, size_t, size_t, bool, gl::IndexRange *)); 40 41 MOCK_METHOD0(destructor, void()); 42 43 protected: 44 gl::BufferState mMockState; 45 }; 46 } 47 48 #endif // LIBANGLE_RENDERER_BUFFERIMPLMOCK_H_ 49