summaryrefslogtreecommitdiff
path: root/sal/qa
diff options
context:
space:
mode:
Diffstat (limited to 'sal/qa')
-rw-r--r--sal/qa/rtl/math/test-rtl-math.cxx28
1 files changed, 28 insertions, 0 deletions
diff --git a/sal/qa/rtl/math/test-rtl-math.cxx b/sal/qa/rtl/math/test-rtl-math.cxx
index bdfd19710b2e..dc40b22f80e6 100644
--- a/sal/qa/rtl/math/test-rtl-math.cxx
+++ b/sal/qa/rtl/math/test-rtl-math.cxx
@@ -58,6 +58,34 @@ public:
CPPUNIT_ASSERT_EQUAL(rtl_math_ConversionStatus_Ok, status);
CPPUNIT_ASSERT_EQUAL(sal_Int32(RTL_CONSTASCII_LENGTH(" +1.E01")), end);
CPPUNIT_ASSERT_EQUAL(10.0, res);
+
+ res = rtl::math::stringToDouble(
+ rtl::OUString("NaN"),
+ '.', ',', &status, &end);
+ CPPUNIT_ASSERT_EQUAL(rtl_math_ConversionStatus_Ok, status);
+ CPPUNIT_ASSERT_EQUAL(3, end);
+ CPPUNIT_ASSERT_EQUAL(rtl::math::isNan(res), true);
+
+ res = rtl::math::stringToDouble(
+ rtl::OUString("NaN1.23"),
+ '.', ',', &status, &end);
+ CPPUNIT_ASSERT_EQUAL(rtl_math_ConversionStatus_Ok, status);
+ CPPUNIT_ASSERT_EQUAL(3, end);
+ CPPUNIT_ASSERT_EQUAL(rtl::math::isNan(res), true);
+
+ res = rtl::math::stringToDouble(
+ rtl::OUString("INF"),
+ '.', ',', &status, &end);
+ CPPUNIT_ASSERT_EQUAL(rtl_math_ConversionStatus_OutOfRange, status);
+ CPPUNIT_ASSERT_EQUAL(3, end);
+ CPPUNIT_ASSERT_EQUAL(rtl::math::isInf(res), true);
+
+ res = rtl::math::stringToDouble(
+ rtl::OUString("INF1.23"),
+ '.', ',', &status, &end);
+ CPPUNIT_ASSERT_EQUAL(rtl_math_ConversionStatus_OutOfRange, status);
+ CPPUNIT_ASSERT_EQUAL(3, end);
+ CPPUNIT_ASSERT_EQUAL(rtl::math::isInf(res), true);
}
void test_stringToDouble_bad() {