mirror of
https://github.com/libexpat/libexpat.git
synced 2025-04-15 00:38:15 +00:00
Improve test coverage of XML_ResumeParser
This commit is contained in:
parent
cf29d40fd3
commit
012de3c01b
1 changed files with 22 additions and 0 deletions
|
@ -1762,6 +1762,27 @@ START_TEST(test_resume_invalid_parse)
|
|||
}
|
||||
END_TEST
|
||||
|
||||
/* Test that re-suspended parses are correctly passed through */
|
||||
START_TEST(test_resume_resuspended)
|
||||
{
|
||||
const char *text = "<doc>Hello<meep/>world</doc>";
|
||||
|
||||
resumable = XML_TRUE;
|
||||
XML_SetCharacterDataHandler(parser,
|
||||
clearing_aborting_character_handler);
|
||||
if (XML_Parse(parser, text, strlen(text), XML_TRUE) == XML_STATUS_ERROR)
|
||||
xml_failure(parser);
|
||||
resumable = XML_TRUE;
|
||||
XML_SetCharacterDataHandler(parser,
|
||||
clearing_aborting_character_handler);
|
||||
if (XML_ResumeParser(parser) != XML_STATUS_SUSPENDED)
|
||||
fail("Resumption not suspended");
|
||||
/* This one should succeed and finish up */
|
||||
if (XML_ResumeParser(parser) != XML_STATUS_OK)
|
||||
xml_failure(parser);
|
||||
}
|
||||
END_TEST
|
||||
|
||||
/* Test resetting a subordinate parser does exactly nothing */
|
||||
static int XMLCALL
|
||||
external_entity_resetter(XML_Parser parser,
|
||||
|
@ -3252,6 +3273,7 @@ make_suite(void)
|
|||
tcase_add_test(tc_basic, test_attributes);
|
||||
tcase_add_test(tc_basic, test_reset_in_entity);
|
||||
tcase_add_test(tc_basic, test_resume_invalid_parse);
|
||||
tcase_add_test(tc_basic, test_resume_resuspended);
|
||||
tcase_add_test(tc_basic, test_subordinate_reset);
|
||||
tcase_add_test(tc_basic, test_subordinate_suspend);
|
||||
tcase_add_test(tc_basic, test_explicit_encoding);
|
||||
|
|
Loading…
Add table
Reference in a new issue