Add isds_box_state_period structure
[libisds.git] / test / offline / isds_message_free.c
blob3c2096ef5cd507b5121ab2fc5f96729f9ea8fcdd
1 #include "../test.h"
2 #include "isds.h"
4 static int test_isds_message_free(struct isds_message **message) {
5 isds_message_free(message);
6 if (!message) PASS_TEST;
8 if (*message)
9 FAIL_TEST("isds_message_free() did not null pointer");
11 PASS_TEST;
15 int main(void) {
17 INIT_TEST("isds_message_free()");
18 if (isds_init())
19 ABORT_UNIT("isds_init() failed");
21 struct isds_message *message = NULL;
22 struct isds_document *document = NULL;
23 xmlNode node = { .type = XML_TEXT_NODE, .content = BAD_CAST "data" };
24 xmlDocPtr tree = xmlParseDoc(BAD_CAST "<root>data</root>");
26 TEST("NULL", test_isds_message_free, NULL);
27 TEST("*NULL", test_isds_message_free, &message);
29 TEST_CALLOC(message);
30 TEST("Empty structure", test_isds_message_free, &message);
32 TEST_CALLOC(message);
33 TEST_FILL_STRING(message->raw);
34 message->xml = NULL; /* Parsed XML message */
35 TEST_CALLOC(message->envelope); /* Message envelope */
36 TEST_CALLOC(message->documents); /* List of isds_document's. */
37 TEST("Message without XML documents", test_isds_message_free,
38 &message);
40 TEST_CALLOC(message);
41 TEST_FILL_STRING(message->raw);
42 message->xml = NULL; /* Parsed XML message */
43 TEST_CALLOC(message->envelope); /* Message envelope */
44 TEST_CALLOC(message->documents); /* List of isds_document's. */
45 message->documents->destructor = (void (*)(void**))isds_document_free;
46 TEST_CALLOC(document);
47 document->is_xml = 1;
48 document->xml_node_list = &node;
49 message->documents->data = document;
50 TEST("Message with XML document without XML tree", test_isds_message_free,
51 &message);
53 TEST_CALLOC(message);
54 TEST_FILL_STRING(message->raw);
55 message->xml = tree; /* Parsed XML message */
56 TEST_CALLOC(message->envelope); /* Message envelope */
57 TEST_CALLOC(message->documents); /* List of isds_document's. */
58 message->documents->destructor = (void (*)(void**))isds_document_free;
59 TEST_CALLOC(document);
60 document->is_xml = 1;
61 document->xml_node_list = tree->children;
62 message->documents->data = document;
63 TEST("Message with XML document with XML tree", test_isds_message_free,
64 &message);
66 isds_cleanup();
67 SUM_TEST();