From: Rhodri James Date: Thu, 9 Mar 2017 14:15:47 +0000 (+0000) Subject: Expand attribute declaration test X-Git-Tag: R_2_2_3~22^2~227 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=98ead688f1fd4960aa76d11d1ea4e992c9e4e6f0;p=libexpat Expand attribute declaration test --- diff --git a/expat/tests/runtests.c b/expat/tests/runtests.c index 845e165a..840a0335 100644 --- a/expat/tests/runtests.c +++ b/expat/tests/runtests.c @@ -1624,27 +1624,45 @@ START_TEST(test_dtd_attr_handling) const char *prolog = "\n"; - AttTest attr_data = { - "\n" - "]>" - "", - "doc", - "a", - "(one|two|three)", /* Extraneous spaces will be removed */ - NULL, - XML_TRUE + AttTest attr_data[] = { + { + "\n" + "]>" + "", + "doc", + "a", + "(one|two|three)", /* Extraneous spaces will be removed */ + NULL, + XML_TRUE + }, + { + "\n" + "\n" + "]>" + "", + "doc", + "a", + "NOTATION(foo)", + NULL, + XML_FALSE + }, + { NULL, NULL, NULL, NULL, NULL, XML_FALSE } }; + AttTest *test; - XML_SetAttlistDeclHandler(parser, verify_attlist_decl_handler); - XML_SetUserData(parser, &attr_data); - if (_XML_Parse_SINGLE_BYTES(parser, prolog, strlen(prolog), - XML_FALSE) == XML_STATUS_ERROR) - xml_failure(parser); - if (_XML_Parse_SINGLE_BYTES(parser, - attr_data.definition, - strlen(attr_data.definition), - XML_TRUE) == XML_STATUS_ERROR) - xml_failure(parser); + for (test = attr_data; test->definition != NULL; test++) { + XML_SetAttlistDeclHandler(parser, verify_attlist_decl_handler); + XML_SetUserData(parser, test); + if (_XML_Parse_SINGLE_BYTES(parser, prolog, strlen(prolog), + XML_FALSE) == XML_STATUS_ERROR) + xml_failure(parser); + if (_XML_Parse_SINGLE_BYTES(parser, + test->definition, + strlen(test->definition), + XML_TRUE) == XML_STATUS_ERROR) + xml_failure(parser); + XML_ParserReset(parser, NULL); + } } END_TEST