From d567700d19cc94141e5cd792b2009baab18d2501 Mon Sep 17 00:00:00 2001 From: "arseny.kapoulkine" Date: Sun, 30 May 2010 18:21:49 +0000 Subject: tests: Added more tests (including a couple of failing ones) git-svn-id: http://pugixml.googlecode.com/svn/trunk@474 99668b35-9821-0410-8761-19e4c4f06640 --- tests/test_xpath_operators.cpp | 47 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) (limited to 'tests/test_xpath_operators.cpp') diff --git a/tests/test_xpath_operators.cpp b/tests/test_xpath_operators.cpp index 0355e46..5c7c0e9 100644 --- a/tests/test_xpath_operators.cpp +++ b/tests/test_xpath_operators.cpp @@ -406,4 +406,51 @@ TEST_XML(xpath_operators_union, " 2 > 1"), false); + CHECK_XPATH_BOOLEAN(c, STR("4 > 3 > 2 > 1"), false); + CHECK_XPATH_BOOLEAN(c, STR("5 > 4 > 3 > 2 > 1"), false); + CHECK_XPATH_BOOLEAN(c, STR("1 < 2 < 3 < 4 < 5"), true); + CHECK_XPATH_BOOLEAN(c, STR("1 <= 2 <= 3 <= 4 <= 5"), true); + CHECK_XPATH_BOOLEAN(c, STR("5 >= 4 >= 3 >= 2 >= 1"), false); + CHECK_XPATH_BOOLEAN(c, STR("3 >= 2 >= 1"), true); + CHECK_XPATH_BOOLEAN(c, STR("2 >= 1"), true); + CHECK_XPATH_BOOLEAN(c, STR("4 >= 3 >= 2 >= 1"), false); + CHECK_XPATH_BOOLEAN(c, STR("((((5 > 4) > 3) > 2) > 1)"), false); + CHECK_XPATH_BOOLEAN(c, STR("2 != 3 != 1 != 4 != 0"), true); + CHECK_XPATH_BOOLEAN(c, STR("(((2 != 3) != 1) != 4) != 0"), true); + CHECK_XPATH_BOOLEAN(c, STR("2 != 3 != 1 != 4 != 1"), false); + CHECK_XPATH_BOOLEAN(c, STR("(((2 != 3) != 1) != 4) != 1"), false); + CHECK_XPATH_BOOLEAN(c, STR("2 = 3 = 1 = 4 = 0"), true); + CHECK_XPATH_BOOLEAN(c, STR("(((2 = 3) = 1) = 4) = 0"), true); + CHECK_XPATH_BOOLEAN(c, STR("2 = 3 = 1 = 4 = 1"), false); + CHECK_XPATH_BOOLEAN(c, STR("(((2 = 3) = 1) = 4) = 1"), false); +} + +TEST(xpath_operators_associativity_arithmetic) +{ + xml_node c; + + CHECK_XPATH_NUMBER(c, STR("2+1-1+1"), 3); + CHECK_XPATH_NUMBER(c, STR("1+2+1-1+1"), 4); + CHECK_XPATH_NUMBER(c, STR("1+1+2+1-1+1"), 5); + CHECK_XPATH_NUMBER(c, STR("1-1+1"), 1); +} + #endif -- cgit v1.2.3