• 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 
16 #ifndef FRAMEWORKS_WM_TEST_UT_MOCK_RESOURCE_MANAGER_H
17 #define FRAMEWORKS_WM_TEST_UT_MOCK_RESOURCE_MANAGER_H
18 #include <gmock/gmock.h>
19 #include <resource_manager.h>
20 
21 namespace OHOS {
22 namespace Global {
23 namespace Resource {
24 class MockResourceManager : public ResourceManager {
25 public:
26     MockResourceManager() = default;
27     ~MockResourceManager() = default;
28     MOCK_METHOD3(AddResource, bool(const char* path,  const uint32_t& selectedTypes,
29         bool forceReload));
30     MOCK_METHOD2(GetColorById, RState(uint32_t id, uint32_t& outValue));
31     MOCK_METHOD3(GetMediaById, RState(uint32_t id, std::string& outValue, uint32_t density));
32     MOCK_METHOD4(GetMediaDataById, RState(uint32_t id, size_t& len, std::unique_ptr<uint8_t[]>& outValue,
33         uint32_t density));
34     MOCK_METHOD3(GetResConfigById, RState(uint32_t resId, ResConfig& resConfig, uint32_t density));
35     MOCK_METHOD4(GetResConfigByName, RState(const std::string& name, const ResType type, ResConfig& resConfig,
36         uint32_t density));
37     MOCK_METHOD5(GetThemeIcons, RState(uint32_t resId, std::pair<std::unique_ptr<uint8_t[]>, size_t>& foregroundInfo,
38         std::pair<std::unique_ptr<uint8_t[]>, size_t>& backgroundInfo,
39         uint32_t density, const std::string& abilityName));
40     MOCK_METHOD0(GetThemeMask, std::string());
41     MOCK_METHOD4(GetOtherIconsInfo, RState(const std::string& iconName,
42         std::unique_ptr<uint8_t[]>& outValue, size_t& len, bool isGlobalMask));
43     MOCK_METHOD2(IsRawDirFromHap, RState(const std::string& pathName, bool& outValue));
44     MOCK_METHOD1(UpdateOverrideResConfig, RState(ResConfig& resConfig));
45     MOCK_METHOD1(GetOverrideResConfig, void(ResConfig& resConfig));
46     MOCK_METHOD3(GetDynamicIcon, RState(const std::string& resName,
47         std::pair<std::unique_ptr<uint8_t[]>, size_t>& iconInfo, uint32_t density));
48     MOCK_METHOD1(HasIconInTheme, bool(const std::string& bundleName));
49     MOCK_METHOD2(AddResource, bool(const std::string& path, const std::vector<std::string>& overlayPaths));
50     MOCK_METHOD2(RemoveResource, bool(const std::string& path, const std::vector<std::string>& overlayPaths));
51     MOCK_METHOD2(UpdateResConfig, RState(ResConfig& resConfig, bool isUpdateTheme));
52     MOCK_METHOD1(GetResConfig, void(ResConfig& resConfig));
53     MOCK_METHOD2(GetStringById, RState(uint32_t id, std::string& outValue));
54     MOCK_METHOD2(GetStringByName, RState(const char* name, std::string& outValue));
55     MOCK_METHOD4(GetFormatPluralStringById, RState(std::string& outValue, uint32_t id, int quantity,
56         std::vector<std::tuple<ResourceManager::NapiValueType, std::string>>& jsParams));
57     MOCK_METHOD4(GetFormatPluralStringById, RState(std::string& outValue, uint32_t id, Quantity quantity,
58         std::vector<std::tuple<ResourceManager::NapiValueType, std::string>>& jsParams));
59     MOCK_METHOD2(AddPatchResource, bool(const char* path, const char* patchPath));
60     MOCK_METHOD2(GetThemeDataByName, RState(const char* name, std::map<std::string, ResData>& outValue));
61     MOCK_METHOD2(GetThemeDataById, RState(uint32_t id, std::map<std::string, ResData>& outValue));
62     MOCK_METHOD2(GetPatternDataById, RState(uint32_t id, std::map<std::string, ResData>& outValue));
63     MOCK_METHOD2(GetPatternDataByName, RState(const char* name, std::map<std::string, ResData>& outValue));
64     MOCK_METHOD2(GetStringArrayById, RState(uint32_t id, std::vector<std::string>& outValue));
65     MOCK_METHOD1(GetOverrideResourceManager, std::shared_ptr<ResourceManager>(
66         std::shared_ptr<ResConfig> overrideResConfig));
67     MOCK_METHOD4(GetFormatPluralStringByName, RState(std::string& outValue, const char* name, int quantity,
68         std::vector<std::tuple<ResourceManager::NapiValueType, std::string>>& jsParams));
69     MOCK_METHOD2(GetStringArrayByName, RState(const char* name, std::vector<std::string>& outValue));
70     MOCK_METHOD2(GetPatternById, RState(uint32_t id, std::map<std::string, std::string>& outValue));
71     MOCK_METHOD2(GetPatternByName, RState(const char* name, std::map<std::string, std::string>& outValue));
72     MOCK_METHOD3(GetPluralStringById, RState(uint32_t id, int quantity, std::string& outValue));
73     MOCK_METHOD3(GetPluralStringByName, RState(const char* name, int quantity, std::string& outValue));
74     MOCK_METHOD2(GetThemeById, RState(uint32_t id, std::map<std::string, std::string>& outValue));
75     MOCK_METHOD2(GetThemeByName, RState(const char* name, std::map<std::string, std::string>& outValue));
76     MOCK_METHOD2(GetBooleanById, RState(uint32_t id, bool& outValue));
77     MOCK_METHOD2(GetBooleanByName, RState(const char* name, bool& outValue));
78     MOCK_METHOD2(GetIntegerById, RState(uint32_t id, int& outValue));
79     MOCK_METHOD2(GetIntegerByName, RState(const char* name, int& outValue));
80     MOCK_METHOD2(GetFloatById, RState(uint32_t id, float& outValue));
81     MOCK_METHOD3(GetFloatById, RState(uint32_t id, float& outValue, std::string& unit));
82     MOCK_METHOD2(GetFloatByName, RState(const char* name, float& outValue));
83     MOCK_METHOD3(GetFloatByName, RState(const char* name, float& outValue, std::string& unit));
84     MOCK_METHOD2(GetIntArrayById, RState(uint32_t id, std::vector<int>& outValue));
85     MOCK_METHOD2(GetIntArrayByName, RState(const char* name, std::vector<int>& outValue));
86     MOCK_METHOD2(GetColorByName, RState(const char* name, uint32_t& outValue));
87     MOCK_METHOD2(GetProfileById, RState(uint32_t id, std::string& outValue));
88     MOCK_METHOD2(GetProfileByName, RState(const char* name, std::string& outValue));
89     MOCK_METHOD3(GetMediaByName, RState(const char* name, std::string& outValue, uint32_t density));
90     MOCK_METHOD2(GetSymbolById, RState(uint32_t id, uint32_t& outValue));
91     MOCK_METHOD2(GetSymbolByName, RState(const char* name, uint32_t& outValue));
92     MOCK_METHOD2(GetRawFilePathByName, RState(const std::string& name, std::string& outValue));
93     MOCK_METHOD2(GetRawFileDescriptor, RState(const std::string& name, RawFileDescriptor& descriptor));
94     MOCK_METHOD1(CloseRawFileDescriptor, RState(const std::string& name));
95     MOCK_METHOD0(GetResourcePaths, std::vector<std::string>());
96     MOCK_METHOD4(GetMediaDataByName, RState(const char* name, size_t& len, std::unique_ptr<uint8_t[]>& outValue,
97         uint32_t density));
98     MOCK_METHOD3(GetMediaBase64DataById, RState(uint32_t id, std::string& outValue, uint32_t density));
99     MOCK_METHOD3(GetMediaBase64DataByName, RState(const char* name, std::string& outValue, uint32_t density));
100     MOCK_METHOD3(GetProfileDataById, RState(uint32_t id, size_t& len, std::unique_ptr<uint8_t[]>& outValue));
101     MOCK_METHOD3(GetProfileDataByName, RState(const char* name, size_t& len, std::unique_ptr<uint8_t[]>& outValue));
102     MOCK_METHOD3(GetRawFileFromHap, RState(const std::string& rawFileName, size_t& len,
103         std::unique_ptr<uint8_t[]>& outValue));
104     MOCK_METHOD2(GetRawFileDescriptorFromHap, RState(const std::string& rawFileName, RawFileDescriptor& descriptor));
105     MOCK_METHOD1(IsLoadHap, RState(std::string& hapPath));
106     MOCK_METHOD2(GetRawFileList, RState(const std::string& rawDirPath, std::vector<std::string>& rawfileList));
107     MOCK_METHOD5(GetDrawableInfoById, RState(uint32_t id, std::string& type, size_t& len,
108         std::unique_ptr<uint8_t[]>& outValue, uint32_t density));
109     MOCK_METHOD5(GetDrawableInfoByName, RState(const char* name, std::string& type, size_t& len,
110         std::unique_ptr<uint8_t[]>& outValue, uint32_t density));
111     MOCK_METHOD3(GetStringFormatById, RState(uint32_t id, std::string& outValue,
112         std::vector<std::tuple<ResourceManager::NapiValueType, std::string>>& jsParams));
113     MOCK_METHOD3(GetStringFormatByName, RState(const char* name, std::string& outValue,
114         std::vector<std::tuple<ResourceManager::NapiValueType, std::string>>& jsParams));
115     MOCK_METHOD0(GetResourceLimitKeys, uint32_t());
116     MOCK_METHOD1(AddAppOverlay, bool(const std::string& path));
117     MOCK_METHOD1(RemoveAppOverlay, bool(const std::string& path));
118     MOCK_METHOD2(GetRawFdNdkFromHap, RState(const std::string& name, RawFileDescriptor& descriptor));
119     MOCK_METHOD2(GetResId, RState(const std::string& resTypeName, uint32_t& resId));
120     MOCK_METHOD2(GetLocales, void(std::vector<std::string>& outValue, bool includeSystem));
121     MOCK_METHOD5(GetDrawableInfoById, RState(uint32_t id,
122         std::tuple<std::string, size_t, std::string>& drawableInfo,
123         std::unique_ptr<uint8_t[]>& outValue, uint32_t iconType, uint32_t density));
124     MOCK_METHOD5(GetDrawableInfoByName, RState(const char* name,
125         std::tuple<std::string, size_t, std::string>& drawableInfo,
126         std::unique_ptr<uint8_t[]>& outValue, uint32_t iconType, uint32_t density));
127     MOCK_METHOD4(GetFormatPluralStringById, RState(std::string& outValue, uint32_t id, Quantity quantity,
128         va_list args));
129     MOCK_METHOD4(GetFormatPluralStringByName, RState(std::string& outValue, const char* name, Quantity quantity,
130         va_list args));
131     MOCK_METHOD4(GetFormatPluralStringByName, RState(std::string& outValue, const char* name, Quantity quantity,
132         std::vector<std::tuple<ResourceManager::NapiValueType, std::string>>& jsParams));
133     MOCK_METHOD3(GetStringFormatById, RState(std::string& outValue, uint32_t id, va_list args));
134     MOCK_METHOD3(GetStringFormatByName, RState(std::string& outValue, const char* name, va_list args));
GetStringFormatByName(std::string & outValue,const char * name,...)135     virtual RState GetStringFormatByName(std::string& outValue, const char* name, ...)
136     {
137         return SUCCESS;
138     }
GetPluralStringByIdFormat(std::string & outValue,uint32_t id,int quantity,...)139     virtual RState GetPluralStringByIdFormat(std::string& outValue, uint32_t id, int quantity, ...)
140     {
141         return SUCCESS;
142     }
GetPluralStringByNameFormat(std::string & outValue,const char * name,int quantity,...)143     virtual RState GetPluralStringByNameFormat(std::string& outValue, const char* name, int quantity, ...)
144     {
145         return SUCCESS;
146     }
GetStringFormatById(std::string & outValue,uint32_t id,...)147     virtual RState GetStringFormatById(std::string& outValue, uint32_t id, ...)
148     {
149         return SUCCESS;
150     }
151 };
152 } // namespace Resource
153 } // namespace Global
154 } // namespace OHOS
155 #endif // FRAMEWORKS_WM_TEST_UT_MOCK_RESOURCE_MANAGER_H