vsnprintf: Fixed VS unit test.

This commit is contained in:
Branimir Karadžić
2017-02-20 23:09:29 -08:00
parent 97eba92e96
commit d8cd914433

View File

@@ -56,7 +56,12 @@ TEST_CASE("vsnprintf f", "")
REQUIRE(test("nan ", "%-8f", std::numeric_limits<double>::quiet_NaN() ) );
REQUIRE(test(" nan", "%8f", std::numeric_limits<double>::quiet_NaN() ) );
#if !BX_CRT_MSVC
// BK - VS2015 CRT vsnprintf returns '-NAN(IND' for some reason?
REQUIRE(test("-NAN ", "%-8F", -std::numeric_limits<double>::quiet_NaN() ) );
#endif // !BX_CRT_MSVC
REQUIRE(test(" inf", "%8f", std::numeric_limits<double>::infinity() ) );
REQUIRE(test("inf ", "%-8f", std::numeric_limits<double>::infinity() ) );
REQUIRE(test(" -INF", "%8F", -std::numeric_limits<double>::infinity() ) );
@@ -91,6 +96,8 @@ TEST_CASE("vsnprintf d/i/o/u/x", "")
REQUIRE(test("000000000000edcb5433", "%020x", -0x1234abcd) );
REQUIRE(test("000000000000EDCB5433", "%020X", -0x1234abcd) );
#if !BX_CRT_MSVC
// BK - VS2015 CRT vsnprintf doesn't support 'j' length sub-specifier?
if (BX_ENABLED(BX_ARCH_32BIT) )
{
REQUIRE(test("2147483647", "%jd", INTMAX_MAX) );
@@ -99,6 +106,7 @@ TEST_CASE("vsnprintf d/i/o/u/x", "")
{
REQUIRE(test("9223372036854775807", "%jd", INTMAX_MAX) );
}
#endif // !BX_CRT_MSVC
REQUIRE(test("18446744073709551615", "%" PRIu64, UINT64_MAX) );
REQUIRE(test("ffffffffffffffff", "%016" PRIx64, UINT64_MAX) );
@@ -121,8 +129,14 @@ TEST_CASE("vsnprintf modifiers", "")
TEST_CASE("vsnprintf p", "")
{
#if BX_CRT_MSVC
// BK - VS2015 CRT vsnprintf has different output for 'p' pointer specifier.
REQUIRE(test("0BADC0DE", "%p", (void*)0xbadc0de));
REQUIRE(test("0BADC0DE ", "%-20p", (void*)0xbadc0de));
#else
REQUIRE(test("0xbadc0de", "%p", (void*)0xbadc0de) );
REQUIRE(test("0xbadc0de ", "%-20p", (void*)0xbadc0de) );
#endif // BX_CRT_MSVC
}
TEST_CASE("vsnprintf s", "")