From: Václav Slavík Date: Wed, 2 May 2007 12:29:32 +0000 (+0000) Subject: added test for passing std::string to vararg functions X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/76fc401aa5b3b7fb54a4964e9916bcb3bbd6c4c5 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 --- diff --git a/tests/strings/vararg.cpp b/tests/strings/vararg.cpp index 63013a90e8..7b397c2193 100644 --- a/tests/strings/vararg.cpp +++ b/tests/strings/vararg.cpp @@ -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