Add support for 'z' size format specifier.

Assume that non-MSVC compilers support it directly and use 'I' for MSVC.

Closes #16596.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78010 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2014-10-12 20:48:41 +00:00
parent af1191ab99
commit b9e0e606a8
3 changed files with 44 additions and 0 deletions

View File

@@ -36,6 +36,7 @@ private:
CPPUNIT_TEST_SUITE( VarArgTestCase );
CPPUNIT_TEST( StringPrintf );
CPPUNIT_TEST( CharPrintf );
CPPUNIT_TEST( SizetPrintf );
#if wxUSE_STD_STRING
CPPUNIT_TEST( StdString );
#endif
@@ -49,6 +50,7 @@ private:
void StringPrintf();
void CharPrintf();
void SizetPrintf();
#if wxUSE_STD_STRING
void StdString();
#endif
@@ -138,6 +140,24 @@ void VarArgTestCase::CharPrintf()
CPPUNIT_ASSERT_EQUAL( "value is 240 (int)", s );
}
void VarArgTestCase::SizetPrintf()
{
size_t i = 1;
ssize_t j = -2;
CPPUNIT_ASSERT_EQUAL
(
"size_t=1 ssize_t=-2",
wxString::Format("size_t=%zu ssize_t=%zd", i, j)
);
CPPUNIT_ASSERT_EQUAL
(
"size_t=0xA0",
wxString::Format("size_t=0x%zX", static_cast<size_t>(160))
);
}
#if wxUSE_STD_STRING
void VarArgTestCase::StdString()
{