4 static int test_isds_message_free(struct isds_message
**message
) {
5 isds_message_free(message
);
6 if (!message
) PASS_TEST
;
9 FAIL_TEST("isds_message_free() did not null pointer");
15 int main(int argc
, char **argv
) {
17 INIT_TEST("isds_message_free()");
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
);
30 TEST("Empty structure", test_isds_message_free
, &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
,
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
);
48 document
->xml_node_list
= &node
;
49 message
->documents
->data
= document
;
50 TEST("Message with XML document without XML tree", test_isds_message_free
,
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
);
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
,