unit tests for 'Stringify NaN, Inf as null'
This commit is contained in:
parent
e7b6e5a208
commit
b4a6da3e63
@ -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);
|
||||
|
Loading…
x
Reference in New Issue
Block a user