Skip to content
Snippets Groups Projects
Commit b4a6da3e authored by Jeroen Doggen's avatar Jeroen Doggen Committed by Milo Yip
Browse files

unit tests for 'Stringify NaN, Inf as null'

parent e7b6e5a2
No related branches found
No related tags found
No related merge requests found
......@@ -500,6 +500,18 @@ TEST(Writer, NaN) {
EXPECT_FALSE(writer2.Double(nan));
}
TEST(Writer, NaNToNull) {
double nan = std::numeric_limits<double>::quiet_NaN();
EXPECT_TRUE(internal::Double(nan).IsNan());
{
StringBuffer buffer;
Writer<StringBuffer, UTF8<>, UTF8<>, CrtAllocator, kWriteNanAndInfNullFlag> writer(buffer);
EXPECT_TRUE(writer.Double(nan));
EXPECT_STREQ("null", buffer.GetString());
}
}
TEST(Writer, Inf) {
double inf = std::numeric_limits<double>::infinity();
......@@ -524,6 +536,24 @@ TEST(Writer, Inf) {
EXPECT_STREQ("Infinity-Infinity", buffer.GetString());
}
TEST(Writer, InfToNull) {
double inf = std::numeric_limits<double>::infinity();
EXPECT_TRUE(internal::Double(inf).IsInf());
{
StringBuffer buffer;
Writer<StringBuffer, UTF8<>, UTF8<>, CrtAllocator, kWriteNanAndInfNullFlag> writer(buffer);
EXPECT_TRUE(writer.Double(inf));
EXPECT_STREQ("null", buffer.GetString());
}
{
StringBuffer buffer;
Writer<StringBuffer, UTF8<>, UTF8<>, CrtAllocator, kWriteNanAndInfNullFlag> writer(buffer);
EXPECT_TRUE(writer.Double(-inf));
EXPECT_STREQ("null", buffer.GetString());
}
}
TEST(Writer, RawValue) {
StringBuffer buffer;
Writer<StringBuffer> writer(buffer);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment