• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2025 Huawei Device Co., Ltd.
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 AVMETADATA_UNITTEST_H
16 #define AVMETADATA_UNITTEST_H
17 
18 #include "gtest/gtest.h"
19 #include <gmock/gmock.h>
20 #include "avsharedmemory_ipc.h"
21 #include "avmetadatahelper_impl.h"
22 #include "sync_fence.h"
23 
24 namespace OHOS {
25 namespace Media {
26 class AVMetadataUnittest : public testing::Test {
27 public:
28 public:
29     // SetUpTestCase: Called before all test cases
30     static void SetUpTestCase(void);
31     // TearDownTestCase: Called after all test case
32     static void TearDownTestCase(void);
33     // SetUp: Called before each test cases
34     void SetUp(void);
35     // TearDown: Called after each test cases
36     void TearDown(void);
37 
38     std::shared_ptr<AVMetadataHelperImpl> avmetadataPtr_;
39 };
40 class MockPixelMap : public PixelMap {
41 public:
42     MOCK_METHOD(int32_t, GetWidth, (), (override));
43     MOCK_METHOD(int32_t, GetHeight, (), (override));
44     MOCK_METHOD(PixelFormat, GetPixelFormat, (), (override));
45     MOCK_METHOD(void*, GetFd, (), (const, override));
46     MOCK_METHOD(AllocatorType, GetAllocatorType, (), (override));
47     MOCK_METHOD(void, SetImageYUVInfo, (YUVDataInfo &yuvinfo), (override));
48     MOCK_METHOD(void, scale, (float xAxis, float yAxis), (override));
49 };
50 class MockAVBuffer : public AVBuffer {
51 public:
52     MOCK_METHOD(uint64_t, GetUniqueId, (), ());
53 };
54 class MockAVMemory : public AVMemory {
55 public:
56     MOCK_METHOD(int32_t, GetSize, (), ());
57     MOCK_METHOD(sptr<SurfaceBuffer>, GetSurfaceBuffer, (), ());
58     MOCK_METHOD(uint8_t*, GetAddr, (), ());
59 };
60 class MockSurfaceBuffer : public SurfaceBuffer {
61 public:
62     MOCK_METHOD(int32_t, GetWidth, (), (const, override));
63     MOCK_METHOD(int32_t, GetHeight, (), (const, override));
64     MOCK_METHOD(int32_t, GetStride, (), (const, override));
65     MOCK_METHOD(int32_t, GetFormat, (), (const, override));
66     MOCK_METHOD(uint64_t, GetUsage, (), (const, override));
67     MOCK_METHOD(uint64_t, GetPhyAddr, (), (const, override));
68     MOCK_METHOD(int32_t, GetFileDescriptor, (), (const, override));
69     MOCK_METHOD(uint32_t, GetSize, (), (const, override));
70     MOCK_METHOD(GraphicColorGamut, GetSurfaceBufferColorGamut, (), (const, override));
71     MOCK_METHOD(GraphicTransformType, GetSurfaceBufferTransform, (), (const, override));
72     MOCK_METHOD(int32_t, GetSurfaceBufferWidth, (), (const, override));
73     MOCK_METHOD(int32_t, GetSurfaceBufferHeight, (), (const, override));
74     MOCK_METHOD(uint32_t, GetSeqNum, (), (const, override));
75     MOCK_METHOD(sptr<BufferExtraData>, GetExtraData, (), (const, override));
76     MOCK_METHOD(GSError, WriteToMessageParcel, (MessageParcel &parcel), (override));
77     MOCK_METHOD(GSError, ReadFromMessageParcel, (MessageParcel &parcel, std::function<int(MessageParcel &,
78         std::function<int(Parcel &)>readFdDefaultFunc)>readSafeFdFunc), (override));
79     MOCK_METHOD(void, SetSurfaceBufferColorGamut, (const GraphicColorGamut& colorGamut), (override));
80     MOCK_METHOD(void, SetSurfaceBufferTransform, (const GraphicTransformType& transform), (override));
81     MOCK_METHOD(void, SetSurfaceBufferWidth, (int32_t width), (override));
82     MOCK_METHOD(void, SetSurfaceBufferHeight, (int32_t width), (override));
83     MOCK_METHOD(void, SetExtraData, (sptr<BufferExtraData> bedata), (override));
84     MOCK_METHOD(void, SetBufferHandle, (BufferHandle *handle), (override));
85     MOCK_METHOD(BufferHandle*, GetBufferHandle, (), (const, override));
86     MOCK_METHOD(void*, GetVirAddr, (), (override));
87     MOCK_METHOD(GSError, Alloc, (const BufferRequestConfig &config, const sptr<SurfaceBuffer>& previousBuffer),
88         (override));
89     MOCK_METHOD(GSError, Map, (), (override));
90     MOCK_METHOD(GSError, Unmap, (), (override));
91     MOCK_METHOD(GSError, FlushCache, (), (override));
92     MOCK_METHOD(GSError, InvalidateCache, (), (override));
93     MOCK_METHOD(GSError, SetMetadata, (uint32_t key, const std::vector<uint8_t>& value, bool enableCache), (override));
94     MOCK_METHOD(GSError, GetMetadata, (uint32_t key, std::vector<uint8_t>& value), (override));
95     MOCK_METHOD(GSError, ListMetadataKeys, (std::vector<uint32_t>& keys), (override));
96     MOCK_METHOD(GSError, EraseMetadataKey, (uint32_t key), (override));
97     MOCK_METHOD(GSError, GetPlanesInfo, (void **planesInfo), (override));
98     MOCK_METHOD(void, SetCropMetadata, (const OHOS::Rect& crop), (override));
99     MOCK_METHOD(bool, GetCropMetadata, (OHOS::Rect& crop), (override));
100     MOCK_METHOD(OH_NativeBuffer*, SurfaceBufferToNativeBuffer, (), (override));
101     MOCK_METHOD(BufferRequestConfig, GetBufferRequestConfig, (), (const, override));
102     MOCK_METHOD(sptr<SyncFence>, GetSyncFence, (), (const, override));
103     MOCK_METHOD(void, SetAndMergeSyncFence, (const sptr<SyncFence>& syncFence), (override));
104 };
105 }
106 }
107 #endif
108