diff options
author | 2016-08-06 14:23:30 +0200 | |
---|---|---|
committer | 2016-08-06 14:23:30 +0200 | |
commit | a8ebc114372476314a3817daa010b71f85d329e1 (patch) | |
tree | 22082431d0e622cae8fda7dfa04da36bf31879be /3rdparty/rapidjson/test/unittest/writertest.cpp | |
parent | 3917850b6197950e5671f4d3b9cb0b9c921b798d (diff) |
update rapidjson (nw)
Diffstat (limited to '3rdparty/rapidjson/test/unittest/writertest.cpp')
-rw-r--r-- | 3rdparty/rapidjson/test/unittest/writertest.cpp | 32 |
1 files changed, 23 insertions, 9 deletions
diff --git a/3rdparty/rapidjson/test/unittest/writertest.cpp b/3rdparty/rapidjson/test/unittest/writertest.cpp index 9c68c539a83..29f7626092c 100644 --- a/3rdparty/rapidjson/test/unittest/writertest.cpp +++ b/3rdparty/rapidjson/test/unittest/writertest.cpp @@ -439,33 +439,47 @@ TEST(Writer, InvalidEventSequence) { } } -extern double zero; // clang -Wmissing-variable-declarations -double zero = 0.0; // Use global variable to prevent compiler warning - TEST(Writer, NaN) { - double nan = zero / zero; + double nan = std::numeric_limits<double>::quiet_NaN(); + EXPECT_TRUE(internal::Double(nan).IsNan()); StringBuffer buffer; - Writer<StringBuffer> writer(buffer); - EXPECT_FALSE(writer.Double(nan)); - + { + Writer<StringBuffer> writer(buffer); + EXPECT_FALSE(writer.Double(nan)); + } + { + Writer<StringBuffer, UTF8<>, UTF8<>, CrtAllocator, kWriteNanAndInfFlag> writer(buffer); + EXPECT_TRUE(writer.Double(nan)); + EXPECT_STREQ("NaN", buffer.GetString()); + } GenericStringBuffer<UTF16<> > buffer2; Writer<GenericStringBuffer<UTF16<> > > writer2(buffer2); EXPECT_FALSE(writer2.Double(nan)); } TEST(Writer, Inf) { - double inf = 1.0 / zero; + double inf = std::numeric_limits<double>::infinity(); + EXPECT_TRUE(internal::Double(inf).IsInf()); StringBuffer buffer; { Writer<StringBuffer> writer(buffer); - EXPECT_FALSE(writer.Double(inf)); + EXPECT_FALSE(writer.Double(inf)); } { Writer<StringBuffer> writer(buffer); EXPECT_FALSE(writer.Double(-inf)); } + { + Writer<StringBuffer, UTF8<>, UTF8<>, CrtAllocator, kWriteNanAndInfFlag> writer(buffer); + EXPECT_TRUE(writer.Double(inf)); + } + { + Writer<StringBuffer, UTF8<>, UTF8<>, CrtAllocator, kWriteNanAndInfFlag> writer(buffer); + EXPECT_TRUE(writer.Double(-inf)); + } + EXPECT_STREQ("Infinity-Infinity", buffer.GetString()); } TEST(Writer, RawValue) { |