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