--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/server/test/xml.h Sat Sep 24 16:26:10 2022 +0200 @@ -0,0 +1,133 @@ +/* + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. + * + * Copyright 2020 Olaf Wintermann. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef TEST_XML_H +#define TEST_XML_H + +#include "../public/nsapi.h" +#include <ucx/test.h> + +#ifdef __cplusplus +extern "C" { +#endif + +UCX_TEST(test_wsxml_iterator); +UCX_TEST(test_wsxml_get_required_namespaces); +UCX_TEST(test_wsxml_write_nodes); +UCX_TEST(test_wsxml_nslist2string); +UCX_TEST(test_wsxml_string2nslist); + + +#define XML_TESTDATA1 "<?xml version=\"1.0\" encoding=\"utf-8\" ?> \ + <test> \ + <elm1>teststr</elm1> \ + <!-- comment -->\ + <elm2 /> \ + <c> \ + <a>hello</a> \ + world\ + <d><e><b/></e></d>\ + </c> \ + <x><z/></x> \ + </test>" + +#define XML_TESTDATA2 "<?xml version=\"1.0\" encoding=\"utf-8\" ?> \ + <root><wrapper><test> \ + <elm1>teststr</elm1> \ + <!-- comment -->\ + <elm2 /> \ + <c> \ + <a>hello</a> \ + world\ + <d><e><b/></e></d>\ + </c> \ + <x><z/></x> \ + </test><nextelm/></wrapper><ignore/></root>" + +#define XML_TESTDATA3 "<?xml version=\"1.0\" encoding=\"utf-8\" ?> \ + <x1:prop \ + xmlns:x1=\"http://example.com/ns1/\" \ + xmlns:x2=\"http://example.com/ns2/\" \ + xmlns:x3=\"http://example.com/ns_0/\" \ + xmlns:x4=\"http://example.com/ns_0/\" > \ + <x1:elm1>str1</x1:elm1>\ + <x2:elm2>str1</x2:elm2>\ + <x3:elm3>str1</x3:elm3>\ + <x4:elm4>str1</x4:elm4>\ + </x1:prop>" + +#define XML_TESTDATA4 "<?xml version=\"1.0\" encoding=\"utf-8\" ?> \ + <x1:prop \ + xmlns:x1=\"http://example.com/ns1/\" \ + xmlns:x2=\"http://example.com/ns2/\" \ + xmlns:x3=\"http://example.com/ns_0/\" \ + xmlns:x4=\"http://example.com/ns_0/\" >\ + <x1:elm1>str1</x1:elm1>\ + <x2:elm2>str1</x2:elm2>\ + </x1:prop>" + +#define XML_TESTDATA5 "<?xml version=\"1.0\" encoding=\"utf-8\" ?> \ + <x1:prop \ + xmlns:x1=\"http://example.com/ns1/\" \ + xmlns:x2=\"http://example.com/ns2/\" > \ + <x1:elm1>str1</x1:elm1>\ + <x2:elm2>str1</x2:elm2>\ + <x3:elm3 xmlns:x3=\"http://example.com/ns_0/\" >str1</x3:elm3>\ + <x4:elm4 xmlns:x4=\"http://example.com/ns_0/\" >str1</x4:elm4>\ + </x1:prop>" + +#define XML_TESTDATA6 "<?xml version=\"1.0\" encoding=\"utf-8\" ?> \n\ + <x1:test \n\ + xmlns:x1=\"http://example.com/ns1/\" \n\ + xmlns:x2=\"http://example.com/ns2/\" > \n\ + <x1:elm1>str1</x1:elm1>\n\ + <x2:elm2>str1</x2:elm2>\n\ + <x3:elm3 xmlns:x3=\"http://example.com/ns_0/\" >str1</x3:elm3>\n\ + <x1:sub> \n\ + <x1:a attr1=\"val1\"/> \n\ + <x1:a attr2=\"val2\">text</x1:a>\n\ + <x1:b x2:nsattr=\"nsval\"><x1:c/></x1:b>\n\ + </x1:sub> \n\ + <x1:newns xmlns:x4=\"http://example.com/0/\" x4:attr3=\"val3\">\n\ + </x1:newns>\n\ + <x1:text>Hello\n\ + World\n\ + end.\n\ + </x1:text>\n\ + <x1:entityref ea=\"test & value\">\n\ + entity reference test &quote& \n\ + <xml>\n\ + </x1:entityref>\n\ + </x1:test>\n" + +#ifdef __cplusplus +} +#endif + +#endif /* TEST_XML_H */ +