mirror of
https://github.com/zeux/pugixml.git
synced 2025-01-14 01:47:55 +08:00
tests: Improve parsing coverage
Add tests for PI erroring exactly at the buffer boundary with non-zero-terminated buffers (so we have to clear the last character which changes the parsing flow slightly) and a test that makes sure parse_embed_pcdata works properly with XML fragments where PCDATA can be at the root level but can't be embedded into the document node.
This commit is contained in:
parent
0e3ccc7396
commit
f9f1c86716
@ -88,6 +88,16 @@ TEST(parse_pi_error)
|
||||
CHECK(doc.load_string(STR("<?name& x?>"), parse_fragment | parse_pi).status == status_bad_pi);
|
||||
}
|
||||
|
||||
TEST(parse_pi_error_buffer_boundary)
|
||||
{
|
||||
char buf1[] = "<?name?>";
|
||||
char buf2[] = "<?name?x";
|
||||
|
||||
xml_document doc;
|
||||
CHECK(doc.load_buffer_inplace(buf1, 8, parse_fragment | parse_pi));
|
||||
CHECK(doc.load_buffer_inplace(buf2, 8, parse_fragment | parse_pi).status == status_bad_pi);
|
||||
}
|
||||
|
||||
TEST(parse_comments_skip)
|
||||
{
|
||||
xml_document doc;
|
||||
@ -1213,6 +1223,13 @@ TEST(parse_embed_pcdata)
|
||||
}
|
||||
}
|
||||
|
||||
TEST_XML_FLAGS(parse_embed_pcdata_fragment, "text", parse_fragment | parse_embed_pcdata)
|
||||
{
|
||||
CHECK_NODE(doc, STR("text"));
|
||||
CHECK(doc.first_child().type() == node_pcdata);
|
||||
CHECK_STRING(doc.first_child().value(), STR("text"));
|
||||
}
|
||||
|
||||
TEST(parse_encoding_detect)
|
||||
{
|
||||
char test[] = "<?xml version='1.0' encoding='utf-8'?><n/>";
|
||||
|
Loading…
x
Reference in New Issue
Block a user