From 64fc9478af7e83fbf0671d34ed29ed455a279082 Mon Sep 17 00:00:00 2001 From: "arseny.kapoulkine" Date: Sat, 29 May 2010 12:59:26 +0000 Subject: tests: Added more ceiling/round tests, added first batch of Xalan tests git-svn-id: http://pugixml.googlecode.com/svn/trunk@460 99668b35-9821-0410-8761-19e4c4f06640 --- tests/test_xpath_functions.cpp | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'tests/test_xpath_functions.cpp') diff --git a/tests/test_xpath_functions.cpp b/tests/test_xpath_functions.cpp index 6713a89..5fc61fc 100644 --- a/tests/test_xpath_functions.cpp +++ b/tests/test_xpath_functions.cpp @@ -71,6 +71,7 @@ TEST(xpath_number_floor) CHECK_XPATH_FAIL(STR("floor()")); // floor with 1 argument + CHECK_XPATH_NUMBER(c, STR("floor(0)"), 0); CHECK_XPATH_NUMBER(c, STR("floor(1.2)"), 1); CHECK_XPATH_NUMBER(c, STR("floor(1)"), 1); CHECK_XPATH_NUMBER(c, STR("floor(-1.2)"), -2); @@ -90,6 +91,7 @@ TEST(xpath_number_ceiling) CHECK_XPATH_FAIL(STR("ceiling()")); // ceiling with 1 argument + CHECK_XPATH_NUMBER(c, STR("ceiling(0)"), 0); CHECK_XPATH_NUMBER(c, STR("ceiling(1.2)"), 2); CHECK_XPATH_NUMBER(c, STR("ceiling(1)"), 1); CHECK_XPATH_NUMBER(c, STR("ceiling(-1.2)"), -1); @@ -99,6 +101,11 @@ TEST(xpath_number_ceiling) // ceiling with 2 arguments CHECK_XPATH_FAIL(STR("ceiling(1, 2)")); + + // ceiling with argument in range (-1, -0] should result in minus zero + CHECK_XPATH_STRING(c, STR("string(1 div ceiling(0))"), STR("Infinity")); + CHECK_XPATH_STRING(c, STR("string(1 div ceiling(-0))"), STR("-Infinity")); + CHECK_XPATH_STRING(c, STR("string(1 div ceiling(-0.1))"), STR("-Infinity")); } TEST(xpath_number_round) @@ -122,6 +129,15 @@ TEST(xpath_number_round) // round with 2 arguments CHECK_XPATH_FAIL(STR("round(1, 2)")); + + // round with argument in range [-0.5, -0] should result in minus zero + CHECK_XPATH_STRING(c, STR("string(1 div round(0))"), STR("Infinity")); + +#if 0 // $$$ commented out temporarily because round is not compliant yet + CHECK_XPATH_STRING(c, STR("string(1 div round(-0.5))"), STR("-Infinity")); + CHECK_XPATH_STRING(c, STR("string(1 div round(-0))"), STR("-Infinity")); + CHECK_XPATH_STRING(c, STR("string(1 div round(-0.1))"), STR("-Infinity")); +#endif } TEST_XML(xpath_boolean_boolean, "") @@ -239,7 +255,9 @@ TEST_XML(xpath_string_string, "123789