14d6c458bSopenharmony_ci/* 24d6c458bSopenharmony_ci * Copyright (c) 2023 Huawei Device Co., Ltd. 34d6c458bSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 44d6c458bSopenharmony_ci * you may not use this file except in compliance with the License. 54d6c458bSopenharmony_ci * You may obtain a copy of the License at 64d6c458bSopenharmony_ci * 74d6c458bSopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 84d6c458bSopenharmony_ci * 94d6c458bSopenharmony_ci * Unless required by applicable law or agreed to in writing, software 104d6c458bSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 114d6c458bSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 124d6c458bSopenharmony_ci * See the License for the specific language governing permissions and 134d6c458bSopenharmony_ci * limitations under the License. 144d6c458bSopenharmony_ci */ 154d6c458bSopenharmony_ci 164d6c458bSopenharmony_ci#ifndef TEST_CONVERTXML_H 174d6c458bSopenharmony_ci#define TEST_CONVERTXML_H 184d6c458bSopenharmony_ci 194d6c458bSopenharmony_ci#include "../js_convertxml.h" 204d6c458bSopenharmony_ci 214d6c458bSopenharmony_cinamespace OHOS::Xml { 224d6c458bSopenharmony_ciclass CxmlTest { 234d6c458bSopenharmony_cipublic: 244d6c458bSopenharmony_ci CxmlTest() = default; 254d6c458bSopenharmony_ci ~CxmlTest() = default; 264d6c458bSopenharmony_ci static std::string Trim(napi_env env, std::string strXmltrim); 274d6c458bSopenharmony_ci static std::string GetNodeType(napi_env env, const xmlElementType enumType); 284d6c458bSopenharmony_ci static void GetPrevNodeList(napi_env env, xmlNodePtr curNode); 294d6c458bSopenharmony_ci static void SetXmlElementType(napi_env env, xmlNodePtr curNode, const napi_value &elementsObject, bool &bFlag); 304d6c458bSopenharmony_ci static void SetNodeInfo(napi_env env, xmlNodePtr curNode, const napi_value &elementsObject); 314d6c458bSopenharmony_ci static void DealSpaces(napi_env env, const napi_value napiObj); 324d6c458bSopenharmony_ci static void SetDefaultKey(napi_env env, size_t i, const std::string strRecv); 334d6c458bSopenharmony_ci static void DealSingleLine(napi_env env, std::string &strXml, const napi_value &object); 344d6c458bSopenharmony_ci static void DealComplex(napi_env env, std::string &strXml, const napi_value &object); 354d6c458bSopenharmony_ci static void Replace(napi_env env, std::string &str, const std::string src, const std::string dst); 364d6c458bSopenharmony_ci static void DealCDataInfo(napi_env env, bool bCData, xmlNodePtr &curNode); 374d6c458bSopenharmony_ci static void GetAnDSetPrevNodeList(napi_env env, xmlNodePtr curNode); 384d6c458bSopenharmony_ci}; 394d6c458bSopenharmony_ci 404d6c458bSopenharmony_cistd::string CxmlTest::Trim(napi_env env, std::string strXmltrim) 414d6c458bSopenharmony_ci{ 424d6c458bSopenharmony_ci ConvertXml convert(env); 434d6c458bSopenharmony_ci return convert.Trim(strXmltrim); 444d6c458bSopenharmony_ci} 454d6c458bSopenharmony_ci 464d6c458bSopenharmony_cistd::string CxmlTest::GetNodeType(napi_env env, const xmlElementType enumType) 474d6c458bSopenharmony_ci{ 484d6c458bSopenharmony_ci ConvertXml convert(env); 494d6c458bSopenharmony_ci return convert.GetNodeType(enumType); 504d6c458bSopenharmony_ci} 514d6c458bSopenharmony_ci 524d6c458bSopenharmony_civoid CxmlTest::GetPrevNodeList(napi_env env, xmlNodePtr curNode) 534d6c458bSopenharmony_ci{ 544d6c458bSopenharmony_ci ConvertXml convert(env); 554d6c458bSopenharmony_ci convert.GetPrevNodeList(env, curNode); 564d6c458bSopenharmony_ci} 574d6c458bSopenharmony_ci 584d6c458bSopenharmony_civoid CxmlTest::SetXmlElementType(napi_env env, xmlNodePtr curNode, const napi_value &elementsObject, bool &bFlag) 594d6c458bSopenharmony_ci{ 604d6c458bSopenharmony_ci ConvertXml convert(env); 614d6c458bSopenharmony_ci convert.SetXmlElementType(env, curNode, elementsObject, bFlag); 624d6c458bSopenharmony_ci} 634d6c458bSopenharmony_ci 644d6c458bSopenharmony_civoid CxmlTest::SetNodeInfo(napi_env env, xmlNodePtr curNode, const napi_value &elementsObject) 654d6c458bSopenharmony_ci{ 664d6c458bSopenharmony_ci ConvertXml convert(env); 674d6c458bSopenharmony_ci convert.SetNodeInfo(env, curNode, elementsObject); 684d6c458bSopenharmony_ci} 694d6c458bSopenharmony_ci 704d6c458bSopenharmony_civoid CxmlTest::DealSpaces(napi_env env, const napi_value napiObj) 714d6c458bSopenharmony_ci{ 724d6c458bSopenharmony_ci ConvertXml convert(env); 734d6c458bSopenharmony_ci convert.DealSpaces(env, napiObj); 744d6c458bSopenharmony_ci} 754d6c458bSopenharmony_ci 764d6c458bSopenharmony_civoid CxmlTest::SetDefaultKey(napi_env env, size_t i, const std::string strRecv) 774d6c458bSopenharmony_ci{ 784d6c458bSopenharmony_ci ConvertXml convert(env); 794d6c458bSopenharmony_ci convert.SetDefaultKey(i, strRecv); 804d6c458bSopenharmony_ci} 814d6c458bSopenharmony_ci 824d6c458bSopenharmony_civoid CxmlTest::DealSingleLine(napi_env env, std::string &strXml, const napi_value &object) 834d6c458bSopenharmony_ci{ 844d6c458bSopenharmony_ci ConvertXml convert(env); 854d6c458bSopenharmony_ci convert.DealSingleLine(env, strXml, object); 864d6c458bSopenharmony_ci} 874d6c458bSopenharmony_ci 884d6c458bSopenharmony_civoid CxmlTest::DealComplex(napi_env env, std::string &strXml, const napi_value &object) 894d6c458bSopenharmony_ci{ 904d6c458bSopenharmony_ci ConvertXml convert(env); 914d6c458bSopenharmony_ci convert.DealComplex(env, strXml, object); 924d6c458bSopenharmony_ci} 934d6c458bSopenharmony_ci 944d6c458bSopenharmony_civoid CxmlTest::Replace(napi_env env, std::string &str, const std::string src, const std::string dst) 954d6c458bSopenharmony_ci{ 964d6c458bSopenharmony_ci ConvertXml convert(env); 974d6c458bSopenharmony_ci convert.Replace(str, src, dst); 984d6c458bSopenharmony_ci} 994d6c458bSopenharmony_ci 1004d6c458bSopenharmony_civoid CxmlTest::DealCDataInfo(napi_env env, bool bCData, xmlNodePtr &curNode) 1014d6c458bSopenharmony_ci{ 1024d6c458bSopenharmony_ci ConvertXml convert(env); 1034d6c458bSopenharmony_ci convert.DealCDataInfo(bCData, curNode); 1044d6c458bSopenharmony_ci} 1054d6c458bSopenharmony_ci 1064d6c458bSopenharmony_civoid CxmlTest::GetAnDSetPrevNodeList(napi_env env, xmlNodePtr curNode) 1074d6c458bSopenharmony_ci{ 1084d6c458bSopenharmony_ci ConvertXml convert(env); 1094d6c458bSopenharmony_ci convert.GetPrevNodeList(env, curNode); 1104d6c458bSopenharmony_ci convert.GetPrevNodeList(env, curNode); 1114d6c458bSopenharmony_ci 1124d6c458bSopenharmony_ci napi_value recvElement = nullptr; 1134d6c458bSopenharmony_ci napi_create_array(env, &recvElement); 1144d6c458bSopenharmony_ci int32_t index = 0; 1154d6c458bSopenharmony_ci convert.SetPrevInfo(env, recvElement, 0, index); 1164d6c458bSopenharmony_ci} 1174d6c458bSopenharmony_ci} 1184d6c458bSopenharmony_ci#endif // TEST_CONVERTXML_H 119