diff --git a/arkweb_utils/arkweb_utils.cpp b/arkweb_utils/arkweb_utils.cpp index 5ce239c9a3984d3534b355cca62e5d25e61a04bb..dc8727153796affde3df4ebd7ea155a455d125ca 100644 --- a/arkweb_utils/arkweb_utils.cpp +++ b/arkweb_utils/arkweb_utils.cpp @@ -302,7 +302,7 @@ std::string GetArkwebInstallPath() { } void* ArkWebBridgeHelperLoadLibFile(int openMode, const std::string& libFilePath, - bool isPrintLog = true) { + bool isPrintLog) { void* libFileHandler = ::dlopen(libFilePath.c_str(), openMode); if (!libFileHandler) { if (isPrintLog) { @@ -384,4 +384,8 @@ void* ArkWebBridgeHelperSharedInit(bool isPreDlopen, bool runMode) { return libFileHandler; } + +void setWebEngineInitFlag(bool flag) { + g_webEngineInitFlag = flag; +} } \ No newline at end of file diff --git a/arkweb_utils/arkweb_utils.h b/arkweb_utils/arkweb_utils.h index 8439b2478f76df4cd4c784ef4a635f8605cc6645..297bb4577483d5d398eac98ae80879b92c9a2825 100644 --- a/arkweb_utils/arkweb_utils.h +++ b/arkweb_utils/arkweb_utils.h @@ -85,4 +85,9 @@ ARKWEB_EXPORT void PreloadArkWebLibForBrowser(); ARKWEB_EXPORT void LogForUnsupportedFunc(ArkWebEngineVersion miniVersion, const char* msg); ARKWEB_EXPORT void* ArkWebBridgeHelperSharedInit(bool isPreDlopen, bool runMode = true); + +ARKWEB_EXPORT void setWebEngineInitFlag(bool flag); +ARKWEB_EXPORT std::string GetArkwebLibPathForMock(); +ARKWEB_EXPORT void* ArkWebBridgeHelperLoadLibFile(int openMode, const std::string& libFilePath, + bool isPrintLog = true); } // namespace OHOS::ArkWeb \ No newline at end of file diff --git a/test/unittest/arkweb_utils_test/arkweb_utils_test.cpp b/test/unittest/arkweb_utils_test/arkweb_utils_test.cpp index 4f217e38113f1eade527d06ceee08e7b1510d1d6..1af8fd9c21779834781ef6dc04d4c7a42f64aa1c 100644 --- a/test/unittest/arkweb_utils_test/arkweb_utils_test.cpp +++ b/test/unittest/arkweb_utils_test/arkweb_utils_test.cpp @@ -20,6 +20,7 @@ #include "arkweb_utils.h" #include "parameters.h" +#include using namespace testing::ext; @@ -89,6 +90,14 @@ TEST(arkweb_utils_test, setActiveWebEngineVersion003) { EXPECT_EQ(getAppWebEngineVersion(), ArkWebEngineVersion::M132); } +TEST(arkweb_utils_test, setActiveWebEngineVersion005) { + setWebEngineInitFlag(true); + setActiveWebEngineVersion(ArkWebEngineVersion::M114); + + EXPECT_EQ(getAppWebEngineVersion(), ArkWebEngineVersion::SYSTEM_DEFAULT); + setWebEngineInitFlag(false); +} + TEST(arkweb_utils_test, setActiveWebEngineVersion004) { setActiveWebEngineVersion(ArkWebEngineVersion::SYSTEM_DEFAULT); setActiveWebEngineVersion(static_cast(3)); @@ -243,4 +252,22 @@ TEST(arkweb_utils_test, GetArkwebInstallPath002) { EXPECT_TRUE(res); OHOS::system::SetParameter("web.engine.enforce", std::to_string(webEngineEnforce)); } + +TEST(arkweb_utils_test, ArkWebBridgeHelperLoadLibFile001) { + std::string libDirPath; + libDirPath = GetArkwebLibPathForMock(); + std::string libFileName = "libarkweb_engine.so"; + void* libFileHandler = nullptr; + libFileHandler = ArkWebBridgeHelperLoadLibFile(RTLD_NOW, libDirPath + "/" + libFileName); + EXPECT_NE(libFileHandler, nullptr); +} + +TEST(arkweb_utils_test, ArkWebBridgeHelperLoadLibFile002) { + std::string libDirPath; + libDirPath = GetArkwebLibPathForMock(); + std::string libFileName = "libarkweb_engine.z.so"; + void* libFileHandler = nullptr; + libFileHandler = ArkWebBridgeHelperLoadLibFile(RTLD_NOW, libDirPath + "/" + libFileName); + EXPECT_EQ(libFileHandler, nullptr); +} } // namespace OHOS::NWeb \ No newline at end of file