• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2021 The Dawn Authors
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 //
7 //     http://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
14 
15 #ifndef TESTS_UNITTESTS_NATIVE_MOCKS_BUFFER_MOCK_H_
16 #define TESTS_UNITTESTS_NATIVE_MOCKS_BUFFER_MOCK_H_
17 
18 #include "dawn_native/Buffer.h"
19 #include "dawn_native/Device.h"
20 
21 #include <gmock/gmock.h>
22 
23 namespace dawn_native {
24 
25     class BufferMock : public BufferBase {
26       public:
BufferMock(DeviceBase * device,BufferBase::BufferState state)27         BufferMock(DeviceBase* device, BufferBase::BufferState state) : BufferBase(device, state) {
28             ON_CALL(*this, DestroyImpl).WillByDefault([this]() {
29                 this->BufferBase::DestroyImpl();
30             });
31         }
32         ~BufferMock() override = default;
33 
34         MOCK_METHOD(void, DestroyImpl, (), (override));
35 
36         MOCK_METHOD(MaybeError, MapAtCreationImpl, (), (override));
37         MOCK_METHOD(MaybeError,
38                     MapAsyncImpl,
39                     (wgpu::MapMode mode, size_t offset, size_t size),
40                     (override));
41         MOCK_METHOD(void, UnmapImpl, (), (override));
42         MOCK_METHOD(void*, GetMappedPointerImpl, (), (override));
43 
44         MOCK_METHOD(bool, IsCPUWritableAtCreation, (), (const, override));
45     };
46 
47 }  // namespace dawn_native
48 
49 #endif  // TESTS_UNITTESTS_NATIVE_MOCKS_BINDGROUP_MOCK_H_
50