• 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_SWAPCHAIN_MOCK_H_
16 #define TESTS_UNITTESTS_NATIVE_MOCKS_SWAPCHAIN_MOCK_H_
17 
18 #include "dawn_native/Device.h"
19 #include "dawn_native/SwapChain.h"
20 
21 #include <gmock/gmock.h>
22 
23 namespace dawn_native {
24 
25     class SwapChainMock : public SwapChainBase {
26       public:
SwapChainMock(DeviceBase * device)27         SwapChainMock(DeviceBase* device) : SwapChainBase(device) {
28             ON_CALL(*this, DestroyImpl).WillByDefault([this]() {
29                 this->SwapChainBase::DestroyImpl();
30             });
31         }
32         ~SwapChainMock() override = default;
33 
34         MOCK_METHOD(void, DestroyImpl, (), (override));
35 
36         MOCK_METHOD(void,
37                     APIConfigure,
38                     (wgpu::TextureFormat, wgpu::TextureUsage, uint32_t, uint32_t),
39                     (override));
40         MOCK_METHOD(TextureViewBase*, APIGetCurrentTextureView, (), (override));
41         MOCK_METHOD(void, APIPresent, (), (override));
42     };
43 
44 }  // namespace dawn_native
45 
46 #endif  // TESTS_UNITTESTS_NATIVE_MOCKS_SWAPCHAIN_MOCK_H_
47