summaryrefslogtreecommitdiff
path: root/tests/test_xml.c
blob: a3895e890c613e7c2f29ca1a9e3bbb6b38180d65 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include <stdlib.h>

#include "unity/unity.h"
#include "src/include/xml/xml.h"

void test_xml_encode(void) {
	map_t map = (map_t) {
		.tag = "get",
		.payload = (map_t []) {
			{
				.tag = "test",
				.payload = "test",
				.n = 4,
				.size = sizeof(char),
				.attrs = NULL,
				.n_attrs = 0
			}
		},
		.size = sizeof(map_t),
		.n = 1,
		.attrs = NULL,
		.n_attrs = 0
	};
	char *xml = encode(&map);
	TEST_ASSERT_EQUAL_STRING("<get><test>test</test></get>", xml);
	free(xml);
}

void test_xml_decode(void) {
	map_t *decoded = decode("<get><test>test</test></get>");
	char *xml = encode(decoded);
	
	TEST_ASSERT_EQUAL_STRING("<get><test>test</test></get>", xml);
	free(xml);
}