parse_wnorm_attribute is no longer deprecated (it's part of W3C recommendations, after all)
git-svn-id: http://pugixml.googlecode.com/svn/trunk@557 99668b35-9821-0410-8761-19e4c4f06640
This commit is contained in:
parent
841aefb120
commit
8f27f244d0
@ -1771,7 +1771,7 @@ namespace
|
|||||||
|
|
||||||
strconv_attribute_t get_strconv_attribute(unsigned int optmask)
|
strconv_attribute_t get_strconv_attribute(unsigned int optmask)
|
||||||
{
|
{
|
||||||
STATIC_ASSERT(parse_escapes == 0x10 && parse_eol == 0x20 && parse_wconv_attribute == 0x40);
|
STATIC_ASSERT(parse_escapes == 0x10 && parse_eol == 0x20 && parse_wconv_attribute == 0x40 && parse_wnorm_attribute == 0x80);
|
||||||
|
|
||||||
switch ((optmask >> 4) & 15) // get bitmask for flags (wconv wnorm eol escapes)
|
switch ((optmask >> 4) & 15) // get bitmask for flags (wconv wnorm eol escapes)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -227,12 +227,7 @@ namespace pugi
|
|||||||
* 3. Leading/trailing whitespace characters are trimmed
|
* 3. Leading/trailing whitespace characters are trimmed
|
||||||
*
|
*
|
||||||
* This flag is off by default.
|
* This flag is off by default.
|
||||||
*
|
|
||||||
* \deprecated This flag is deprecated
|
|
||||||
*/
|
*/
|
||||||
#if !defined(__INTEL_COMPILER) || __INTEL_COMPILER > 800
|
|
||||||
PUGIXML_DEPRECATED
|
|
||||||
#endif
|
|
||||||
const unsigned int parse_wnorm_attribute = 0x0080;
|
const unsigned int parse_wnorm_attribute = 0x0080;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -173,41 +173,6 @@ TEST_XML(dom_node_wildcard_star, "<node cd='1'/>")
|
|||||||
CHECK(node.attribute_w(STR("*?*d*")).as_int() == 1);
|
CHECK(node.attribute_w(STR("*?*d*")).as_int() == 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
// parse_wnorm_attribute flag
|
|
||||||
TEST(parse_attribute_wnorm)
|
|
||||||
{
|
|
||||||
xml_document doc;
|
|
||||||
|
|
||||||
for (int eol = 0; eol < 2; ++eol)
|
|
||||||
for (int wconv = 0; wconv < 2; ++wconv)
|
|
||||||
{
|
|
||||||
unsigned int flags = parse_minimal | parse_wnorm_attribute | (eol ? parse_eol : 0) | (wconv ? parse_wconv_attribute : 0);
|
|
||||||
CHECK(doc.load(STR("<node id=' \t\r\rval1 \rval2\r\nval3\nval4\r\r'/>"), flags));
|
|
||||||
CHECK_STRING(doc.child(STR("node")).attribute(STR("id")).value(), STR("val1 val2 val3 val4"));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
TEST(parse_attribute_variations_wnorm)
|
|
||||||
{
|
|
||||||
xml_document doc;
|
|
||||||
|
|
||||||
for (int wnorm = 0; wnorm < 2; ++wnorm)
|
|
||||||
for (int eol = 0; eol < 2; ++eol)
|
|
||||||
for (int wconv = 0; wconv < 2; ++wconv)
|
|
||||||
for (int escapes = 0; escapes < 2; ++escapes)
|
|
||||||
{
|
|
||||||
unsigned int flags = parse_minimal;
|
|
||||||
|
|
||||||
flags |= (wnorm ? parse_wnorm_attribute : 0);
|
|
||||||
flags |= (eol ? parse_eol : 0);
|
|
||||||
flags |= (wconv ? parse_wconv_attribute : 0);
|
|
||||||
flags |= (escapes ? parse_escapes : 0);
|
|
||||||
|
|
||||||
CHECK(doc.load(STR("<node id='1'/>"), flags));
|
|
||||||
CHECK_STRING(doc.child(STR("node")).attribute(STR("id")).value(), STR("1"));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// document order
|
// document order
|
||||||
TEST_XML(document_order_coverage, "<node id='1'/>")
|
TEST_XML(document_order_coverage, "<node id='1'/>")
|
||||||
{
|
{
|
||||||
|
|||||||
@ -424,25 +424,41 @@ TEST(parse_attribute_eol_wconv)
|
|||||||
CHECK_STRING(doc.child(STR("node")).attribute(STR("id")).value(), STR(" val1 val2 val3 val4 "));
|
CHECK_STRING(doc.child(STR("node")).attribute(STR("id")).value(), STR(" val1 val2 val3 val4 "));
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST(parse_attribute_variations)
|
TEST(parse_attribute_wnorm)
|
||||||
{
|
{
|
||||||
xml_document doc;
|
xml_document doc;
|
||||||
|
|
||||||
for (int eol = 0; eol < 2; ++eol)
|
for (int eol = 0; eol < 2; ++eol)
|
||||||
for (int wconv = 0; wconv < 2; ++wconv)
|
for (int wconv = 0; wconv < 2; ++wconv)
|
||||||
for (int escapes = 0; escapes < 2; ++escapes)
|
{
|
||||||
{
|
unsigned int flags = parse_minimal | parse_wnorm_attribute | (eol ? parse_eol : 0) | (wconv ? parse_wconv_attribute : 0);
|
||||||
unsigned int flags = parse_minimal;
|
CHECK(doc.load(STR("<node id=' \t\r\rval1 \rval2\r\nval3\nval4\r\r'/>"), flags));
|
||||||
|
CHECK_STRING(doc.child(STR("node")).attribute(STR("id")).value(), STR("val1 val2 val3 val4"));
|
||||||
flags |= (eol ? parse_eol : 0);
|
}
|
||||||
flags |= (wconv ? parse_wconv_attribute : 0);
|
|
||||||
flags |= (escapes ? parse_escapes : 0);
|
|
||||||
|
|
||||||
CHECK(doc.load(STR("<node id='1'/>"), flags));
|
|
||||||
CHECK_STRING(doc.child(STR("node")).attribute(STR("id")).value(), STR("1"));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TEST(parse_attribute_variations)
|
||||||
|
{
|
||||||
|
xml_document doc;
|
||||||
|
|
||||||
|
for (int wnorm = 0; wnorm < 2; ++wnorm)
|
||||||
|
for (int eol = 0; eol < 2; ++eol)
|
||||||
|
for (int wconv = 0; wconv < 2; ++wconv)
|
||||||
|
for (int escapes = 0; escapes < 2; ++escapes)
|
||||||
|
{
|
||||||
|
unsigned int flags = parse_minimal;
|
||||||
|
|
||||||
|
flags |= (wnorm ? parse_wnorm_attribute : 0);
|
||||||
|
flags |= (eol ? parse_eol : 0);
|
||||||
|
flags |= (wconv ? parse_wconv_attribute : 0);
|
||||||
|
flags |= (escapes ? parse_escapes : 0);
|
||||||
|
|
||||||
|
CHECK(doc.load(STR("<node id='1'/>"), flags));
|
||||||
|
CHECK_STRING(doc.child(STR("node")).attribute(STR("id")).value(), STR("1"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
TEST(parse_attribute_error)
|
TEST(parse_attribute_error)
|
||||||
{
|
{
|
||||||
xml_document doc;
|
xml_document doc;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user