diff options
Diffstat (limited to 'tests/test_xpath_functions.cpp')
| -rw-r--r-- | tests/test_xpath_functions.cpp | 15 | 
1 files changed, 14 insertions, 1 deletions
diff --git a/tests/test_xpath_functions.cpp b/tests/test_xpath_functions.cpp index da820ef..678bc2e 100644 --- a/tests/test_xpath_functions.cpp +++ b/tests/test_xpath_functions.cpp @@ -216,7 +216,7 @@ TEST(xpath_boolean_false)  	CHECK_XPATH_FAIL(STR("false(1)"));  } -TEST_XML(xpath_boolean_lang, "<node xml:lang='en'><child xml:lang='zh-UK'><subchild/></child></node><foo><bar/></foo>") +TEST_XML(xpath_boolean_lang, "<node xml:lang='en'><child xml:lang='zh-UK'><subchild attr=''/></child></node><foo><bar/></foo>")  {  	xml_node c; @@ -244,6 +244,9 @@ TEST_XML(xpath_boolean_lang, "<node xml:lang='en'><child xml:lang='zh-UK'><subch  	CHECK_XPATH_BOOLEAN(doc.child(STR("node")).child(STR("child")), STR("lang('r')"), false);  	CHECK_XPATH_BOOLEAN(doc.child(STR("node")).child(STR("child")).child(STR("subchild")), STR("lang('en')"), false); +	// lang with 1 attribute argument +	CHECK_XPATH_NODESET(doc, STR("//@*[lang('en')]")); +  	// lang with 2 arguments  	CHECK_XPATH_FAIL(STR("lang(1, 2)"));  } @@ -773,6 +776,16 @@ TEST_XML_FLAGS(xpath_string_value, "<node><c1>pcdata</c1><c2><child/></c2><c3 at  	CHECK_XPATH_STRING(n, STR("string(c6/node())"), STR("cdata"));  } +TEST(xpath_string_value_empty) +{ +	xml_document doc; +	doc.append_child(node_pcdata).set_value(STR("head")); +	doc.append_child(node_pcdata); +	doc.append_child(node_pcdata).set_value(STR("tail")); + +	CHECK_XPATH_STRING(doc, STR("string()"), STR("headtail")); +} +  TEST_XML(xpath_string_concat_translate, "<node>foobar</node>")  {  	CHECK_XPATH_STRING(doc, STR("concat('a', 'b', 'c', translate(node, 'o', 'a'), 'd')"), STR("abcfaabard"));  | 
