From 555a184f4f8223141434db41429eb68f5f8fd916 Mon Sep 17 00:00:00 2001 From: "arseny.kapoulkine" Date: Sun, 30 May 2010 20:44:15 +0000 Subject: Fixed XPath parsing (numbers of the form \d+\. are now parsed correctly, stray colon does not act as eof token) git-svn-id: http://pugixml.googlecode.com/svn/trunk@476 99668b35-9821-0410-8761-19e4c4f06640 --- tests/test_xpath_parse.cpp | 6 +++--- tests/test_xpath_xalan_5.cpp | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) (limited to 'tests') diff --git a/tests/test_xpath_parse.cpp b/tests/test_xpath_parse.cpp index bedb3e9..0caf104 100644 --- a/tests/test_xpath_parse.cpp +++ b/tests/test_xpath_parse.cpp @@ -29,6 +29,7 @@ TEST(xpath_number_parse) CHECK_XPATH_NUMBER(c, STR("123.456"), 123.456); CHECK_XPATH_NUMBER(c, STR(".123"), 0.123); CHECK_XPATH_NUMBER(c, STR("123.4567890123456789012345"), 123.4567890123456789012345); + CHECK_XPATH_NUMBER(c, STR("123."), 123); } TEST(xpath_number_error) @@ -225,12 +226,11 @@ TEST(xpath_parse_jaxen_invalid) STR("///triple slash"), STR("/numbers numbers"), STR("/a/b[c > d]efg"), STR("/inv/child::"), STR("/invoice/@test[abcd"), STR("/invoice/@test[abcd > x"), STR("string-length('a"), STR("/descendant::()"), STR("(1 + 1"), STR("!false()"), STR("$author"), STR("10 + $foo"), STR("$foo:bar"), STR("$varname[@a='1']"), STR("foo/$variable/foo"), - STR(".[1]"), STR("chyld::foo"), STR("foo/tacos()"), STR("foo/tacos()"), STR("/foo/bar[baz"), STR("//"), // STR("*:foo"), $$ should not compile + STR(".[1]"), STR("chyld::foo"), STR("foo/tacos()"), STR("foo/tacos()"), STR("/foo/bar[baz"), STR("//"), STR("*:foo"), STR("/cracker/cheese[(mold > 1) and (sense/taste"), // From xpath-as3 tests - STR("a b"), STR("//self::node())"), STR("/x/y[contains(self::node())"), STR("/x/y[contains(self::node()]"), STR("///"), - STR("text::a"), // STR("***"), $$ should not compile + STR("a b"), STR("//self::node())"), STR("/x/y[contains(self::node())"), STR("/x/y[contains(self::node()]"), STR("///"), STR("text::a"), // From haXe-xpath tests STR("|/gjs"), STR("+3"), STR("/html/body/p != ---'div'/a"), STR(""), STR("@"), STR("#akf"), STR(",") diff --git a/tests/test_xpath_xalan_5.cpp b/tests/test_xpath_xalan_5.cpp index c1e7b18..3a71bc2 100644 --- a/tests/test_xpath_xalan_5.cpp +++ b/tests/test_xpath_xalan_5.cpp @@ -68,8 +68,8 @@ TEST_XML(xpath_xalan_select_6, "
9
") CHECK_XPATH_NUMBER(doc, STR("(* - 4) div 2"), 2.5); CHECK_XPATH_NUMBER(doc, STR("' 6 ' div 2"), 3); CHECK_XPATH_NUMBER(doc, STR("' 6 '*div"), 54); - // CHECK_XPATH_NUMBER(doc, STR("5.*."), 45); $$ should work - // CHECK_XPATH_NUMBER(doc, STR("5.+."), 14); $$ should work + CHECK_XPATH_NUMBER(doc, STR("5.*."), 45); + CHECK_XPATH_NUMBER(doc, STR("5.+."), 14); } TEST_XML(xpath_xalan_select_7, "
9
8
") @@ -235,7 +235,7 @@ TEST(xpath_xalan_error_namespace) CHECK_XPATH_FAIL(STR("namespace-uri(baz2:b,..)")); CHECK_XPATH_FAIL(STR("name(a,b)")); CHECK_XPATH_FAIL(STR(":foo")); - // CHECK_XPATH_FAIL(STR("*:foo")); $$ should not compile + CHECK_XPATH_FAIL(STR("*:foo")); } TEST(xpath_xalan_error_position) -- cgit v1.2.3