Initial commit

This commit is contained in:
2026-04-03 00:22:39 -05:00
commit eca1e8c458
945 changed files with 218160 additions and 0 deletions

View File

@@ -0,0 +1,73 @@
#include "ZUnitTest.hpp"
#include <ZUtil/ZXMLWriter.hpp>
static const char* test_WriteSuccess();
static const char* test_WriteFailure();
ZUnitTest ZXMLWriterUnitTests[] =
{
{ "ZXMLWriter: WriteSuccess", test_WriteSuccess },
{ "ZXMLWriter: WriteFailure", test_WriteFailure }
};
//Now declare the ZUnitTestBlock associated with this.
DECLARE_ZTESTBLOCK(ZXMLWriter);
/*************************************************************************/
namespace ZXMLWriterTestData
{
const char* test1Output = "<node1>" LINE_TERMINATOR
"<node2>" LINE_TERMINATOR
"<node3 attr1=\"value1\" attr2=\"value2\"/>" LINE_TERMINATOR
"</node2>" LINE_TERMINATOR
"Node1Body" LINE_TERMINATOR
"</node1>" LINE_TERMINATOR;
const char* test2Output = "<node1><node2><node3 attr1=\"value1\" attr2=\"value2\"/></node2>Node1Body</node1>";
const char* test3Output = "" LINE_TERMINATOR
LINE_TERMINATOR;
}
using namespace ZXMLWriterTestData;
/*************************************************************************/
static const char* test_WriteSuccess()
{
ZString output;
ZKVTree tree;
tree.Put("node1", "Node1Body");
tree.Put("node1.node2", "");
tree.Put("node1.node2.node3", "");
tree.Put("node1.node2.node3.attr1", "value1");
tree.Put("node1.node2.node3.attr2", "value2");
ZXMLWriter writer1;
ZXMLWriter writer2;
TASSERT(writer1.Write(tree, output, true), "ZXMLWriter failed to write valid data set #1!");
TASSERT(output == test1Output, "ZXMLWriter wrote incorrect value for data set #1!");
output.Clear();
TASSERT(writer2.Write(tree, output, false), "ZXMLWriter failed to write valid data set #1 with no newlines!");
TASSERT(output == test2Output, "ZXMLWriter wrote incorrect value for data set #1 with no newlines!");
//TODO - one more output case, preferably something a bit more complicated?
return ZTEST_SUCCESS;
}
/*************************************************************************/
static const char* test_WriteFailure()
{
return "TODO";
}