@@ -1401,6 +1401,30 @@ TEST(ValueTest, ToString)
14011401 ASSERT_EQ (utf8::utf16to8 (v.toUtf16 ()), v.toString ());
14021402 ASSERT_EQ (std::string (cStrings.back ()), v.toString ());
14031403
1404+ v = 59.8 ;
1405+ cStrings.push_back (value_toCString (&v.data ()));
1406+ ASSERT_EQ (v.toString (), " 59.8" );
1407+ ASSERT_EQ (utf8::utf16to8 (v.toUtf16 ()), v.toString ());
1408+ ASSERT_EQ (std::string (cStrings.back ()), v.toString ());
1409+
1410+ v = -59.8 ;
1411+ cStrings.push_back (value_toCString (&v.data ()));
1412+ ASSERT_EQ (v.toString (), " -59.8" );
1413+ ASSERT_EQ (utf8::utf16to8 (v.toUtf16 ()), v.toString ());
1414+ ASSERT_EQ (std::string (cStrings.back ()), v.toString ());
1415+
1416+ v = 5.3 ;
1417+ cStrings.push_back (value_toCString (&v.data ()));
1418+ ASSERT_EQ (v.toString (), " 5.3" );
1419+ ASSERT_EQ (utf8::utf16to8 (v.toUtf16 ()), v.toString ());
1420+ ASSERT_EQ (std::string (cStrings.back ()), v.toString ());
1421+
1422+ v = -5.3 ;
1423+ cStrings.push_back (value_toCString (&v.data ()));
1424+ ASSERT_EQ (v.toString (), " -5.3" );
1425+ ASSERT_EQ (utf8::utf16to8 (v.toUtf16 ()), v.toString ());
1426+ ASSERT_EQ (std::string (cStrings.back ()), v.toString ());
1427+
14041428 v = 2550.625021000115 ;
14051429 cStrings.push_back (value_toCString (&v.data ()));
14061430 ASSERT_EQ (v.toString (), " 2550.625021000115" );
@@ -1448,6 +1472,28 @@ TEST(ValueTest, ToString)
14481472 ASSERT_EQ (utf8::utf16to8 (v.toUtf16 ()), v.toString ());
14491473 ASSERT_EQ (std::string (cStrings.back ()), v.toString ());
14501474
1475+ v = 0.000001 ;
1476+ cStrings.push_back (value_toCString (&v.data ()));
1477+ ASSERT_EQ (v.toString (), " 0.000001" );
1478+ ASSERT_EQ (utf8::utf16to8 (v.toUtf16 ()), v.toString ());
1479+ ASSERT_EQ (std::string (cStrings.back ()), v.toString ());
1480+ v = -0.000001 ;
1481+ cStrings.push_back (value_toCString (&v.data ()));
1482+ ASSERT_EQ (v.toString (), " -0.000001" );
1483+ ASSERT_EQ (utf8::utf16to8 (v.toUtf16 ()), v.toString ());
1484+ ASSERT_EQ (std::string (cStrings.back ()), v.toString ());
1485+
1486+ v = 0.0000001 ;
1487+ cStrings.push_back (value_toCString (&v.data ()));
1488+ ASSERT_EQ (v.toString (), " 1e-7" );
1489+ ASSERT_EQ (utf8::utf16to8 (v.toUtf16 ()), v.toString ());
1490+ ASSERT_EQ (std::string (cStrings.back ()), v.toString ());
1491+ v = -0.0000001 ;
1492+ cStrings.push_back (value_toCString (&v.data ()));
1493+ ASSERT_EQ (v.toString (), " -1e-7" );
1494+ ASSERT_EQ (utf8::utf16to8 (v.toUtf16 ()), v.toString ());
1495+ ASSERT_EQ (std::string (cStrings.back ()), v.toString ());
1496+
14511497 v = false ;
14521498 cStrings.push_back (value_toCString (&v.data ()));
14531499 ASSERT_EQ (v.toString (), " false" );
@@ -2846,6 +2892,22 @@ TEST(ValueTest, DoubleToCString)
28462892 ASSERT_EQ (strcmp (ret, " -2.54" ), 0 );
28472893 free (ret);
28482894
2895+ ret = value_doubleToCString (59.8 );
2896+ ASSERT_EQ (strcmp (ret, " 59.8" ), 0 );
2897+ free (ret);
2898+
2899+ ret = value_doubleToCString (-59.8 );
2900+ ASSERT_EQ (strcmp (ret, " -59.8" ), 0 );
2901+ free (ret);
2902+
2903+ ret = value_doubleToCString (5.3 );
2904+ ASSERT_EQ (strcmp (ret, " 5.3" ), 0 );
2905+ free (ret);
2906+
2907+ ret = value_doubleToCString (-5.3 );
2908+ ASSERT_EQ (strcmp (ret, " -5.3" ), 0 );
2909+ free (ret);
2910+
28492911 ret = value_doubleToCString (2550.625021000115 );
28502912 ASSERT_EQ (strcmp (ret, " 2550.625021000115" ), 0 );
28512913 free (ret);
@@ -2878,6 +2940,22 @@ TEST(ValueTest, DoubleToCString)
28782940 ASSERT_EQ (strcmp (ret, " -0.001" ), 0 );
28792941 free (ret);
28802942
2943+ ret = value_doubleToCString (0.000001 );
2944+ ASSERT_EQ (strcmp (ret, " 0.000001" ), 0 );
2945+ free (ret);
2946+
2947+ ret = value_doubleToCString (-0.000001 );
2948+ ASSERT_EQ (strcmp (ret, " -0.000001" ), 0 );
2949+ free (ret);
2950+
2951+ ret = value_doubleToCString (0.0000001 );
2952+ ASSERT_EQ (strcmp (ret, " 1e-7" ), 0 );
2953+ free (ret);
2954+
2955+ ret = value_doubleToCString (-0.0000001 );
2956+ ASSERT_EQ (strcmp (ret, " -1e-7" ), 0 );
2957+ free (ret);
2958+
28812959 ret = value_doubleToCString (std::numeric_limits<double >::infinity ());
28822960 ASSERT_EQ (strcmp (ret, " Infinity" ), 0 );
28832961 free (ret);
0 commit comments