summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorarseny.kapoulkine <arseny.kapoulkine@99668b35-9821-0410-8761-19e4c4f06640>2010-05-31 16:53:13 +0000
committerarseny.kapoulkine <arseny.kapoulkine@99668b35-9821-0410-8761-19e4c4f06640>2010-05-31 16:53:13 +0000
commit4c0e67ae92f288be74748af9de7891b7b641943e (patch)
tree4cdde5be09f005e4f13b0aeaf1fa987d6966780b /tests
parent18848ef589e6a476fb0082a2fa02b54429c90734 (diff)
XPath: Replaced backtracking with lookahead in absolute path parsing
git-svn-id: http://pugixml.googlecode.com/svn/trunk@485 99668b35-9821-0410-8761-19e4c4f06640
Diffstat (limited to 'tests')
-rw-r--r--tests/test_xpath_parse.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/tests/test_xpath_parse.cpp b/tests/test_xpath_parse.cpp
index b977ce5..caebb9b 100644
--- a/tests/test_xpath_parse.cpp
+++ b/tests/test_xpath_parse.cpp
@@ -254,4 +254,19 @@ TEST(xpath_parse_jaxen_invalid)
}
}
+TEST_XML(xpath_parse_absolute, "<div><s/></div>")
+{
+ CHECK_XPATH_NODESET(doc, STR("/")) % 1;
+
+ CHECK_XPATH_NODESET(doc, STR("/div/s")) % 3;
+ CHECK_XPATH_NODESET(doc, STR("/ div /s")) % 3;
+ CHECK_XPATH_FAIL(STR("/ div 5"));
+
+ CHECK_XPATH_NODESET(doc, STR("/*/s")) % 3;
+ CHECK_XPATH_NODESET(doc, STR("/ * /s")) % 3;
+ CHECK_XPATH_FAIL(STR("/ * 5"));
+
+ CHECK_XPATH_NODESET(doc, STR("/*[/]")) % 2;
+}
+
#endif