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