added test for passing std::string to vararg functions

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45753 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Václav Slavík 2007-05-02 12:29:32 +00:00
parent 04ab8b6ddf
commit 76fc401aa5

View File

@ -36,9 +36,15 @@ public:
private:
CPPUNIT_TEST_SUITE( VarArgTestCase );
CPPUNIT_TEST( StringPrintf );
#if wxUSE_STD_STRING
CPPUNIT_TEST( StdString );
#endif
CPPUNIT_TEST_SUITE_END();
void StringPrintf();
#if wxUSE_STD_STRING
void StdString();
#endif
DECLARE_NO_COPY_CLASS(VarArgTestCase)
};
@ -80,4 +86,22 @@ void VarArgTestCase::StringPrintf()
// literal:
bool cond = true;
s2.Printf(_T("foo %s"), !cond ? s.c_str() : _T("bar"));
}
#if wxUSE_STD_STRING
void VarArgTestCase::StdString()
{
// test passing std::[w]string
wxString s;
std::string mb("multi-byte");
std::string wc("widechar");
s.Printf("string %s(%i).", mb, 1);
CPPUNIT_ASSERT( s == "string multi-byte(1)." );
s.Printf("string %s(%i).", wc, 2);
CPPUNIT_ASSERT( s == "string widechar(2)." );
}
#endif // wxUSE_STD_STRING