X-Git-Url: https://pd.if.org/git/?p=pdclib;a=blobdiff_plain;f=testing%2Fprintf_testcases.h;h=d46e987ea9d324d52b533f85d490b12d92ea8f91;hp=db418467b4f0cb091088fe484987ce0d583ae7c5;hb=d3484ae97fd49e304689434deb268f6d1357bd5e;hpb=70e37e1600a4ad7648c0909735ec72f13d043279 diff --git a/testing/printf_testcases.h b/testing/printf_testcases.h index db41846..d46e987 100644 --- a/testing/printf_testcases.h +++ b/testing/printf_testcases.h @@ -1,5 +1,5 @@ { -#if defined(_PDCLIB_CHAR_SIGNED) +#if CHAR_MIN == -128 assert(CHAR_MIN == -128); PRINTF_TEST( 4, "-128", "%hhd", CHAR_MIN ); assert(CHAR_MAX == 127); @@ -94,7 +94,7 @@ PRINTF_TEST( (int)strlen( INT_HEXDIG ) + 3, "0xf" INT_hexdig, "%#3.6x", UINT_MAX ); PRINTF_TEST( INT_DIG + 1, "-" INT_MIN_DEZ_STR, "%.6d", INT_MIN ); PRINTF_TEST( INT_DIG + 1, "-" INT_MIN_DEZ_STR, "%6.3d", INT_MIN ); - PRINTF_TEST( INT_DIG + 1., "-" INT_MIN_DEZ_STR, "%3.6d", INT_MIN ); + PRINTF_TEST( INT_DIG + 1, "-" INT_MIN_DEZ_STR, "%3.6d", INT_MIN ); PRINTF_TEST( UINT_DIG, "0xf" INT_hexdig, "%#0.6x", UINT_MAX ); PRINTF_TEST( UINT_DIG, "0xf" INT_hexdig, "%#06.3x", UINT_MAX ); PRINTF_TEST( UINT_DIG, "0xf" INT_hexdig, "%#03.6x", UINT_MAX ); @@ -125,7 +125,13 @@ } #endif } + /* PDCLIB-20: Verify "unusual" combinations of length and signedness */ + PRINTF_TEST( 1, "1", "%tu", (ptrdiff_t) 1); // unsigned prtdiff_t + PRINTF_TEST( 2, "-1", "%jd", (intmax_t) -1); // intmax_t + PRINTF_TEST( 1, "1", "%ju", (uintmax_t) 1); // uintmax_t + PRINTF_TEST( 1, "1", "%zd", (size_t) 1); // signed size_t +#ifndef TEST_CONVERSION_ONLY /****************************************************************************** * NOTE: The following test cases are imported from the Tyndur project. They * * are therefore under the license of said project, not CC0. * @@ -424,4 +430,6 @@ PRINTF_TEST(20, "1234ABCD ", "% -+0*.*X", 20, 5, 0x1234abcdu); PRINTF_TEST(20, "00EDCB5433 ", "% -+0*.*X", 20, 10, -0x1234abcdu); } -/******************************************************************************/ \ No newline at end of file +/******************************************************************************/ +#endif +