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:
@@ -36,9 +36,15 @@ public:
|
|||||||
private:
|
private:
|
||||||
CPPUNIT_TEST_SUITE( VarArgTestCase );
|
CPPUNIT_TEST_SUITE( VarArgTestCase );
|
||||||
CPPUNIT_TEST( StringPrintf );
|
CPPUNIT_TEST( StringPrintf );
|
||||||
|
#if wxUSE_STD_STRING
|
||||||
|
CPPUNIT_TEST( StdString );
|
||||||
|
#endif
|
||||||
CPPUNIT_TEST_SUITE_END();
|
CPPUNIT_TEST_SUITE_END();
|
||||||
|
|
||||||
void StringPrintf();
|
void StringPrintf();
|
||||||
|
#if wxUSE_STD_STRING
|
||||||
|
void StdString();
|
||||||
|
#endif
|
||||||
|
|
||||||
DECLARE_NO_COPY_CLASS(VarArgTestCase)
|
DECLARE_NO_COPY_CLASS(VarArgTestCase)
|
||||||
};
|
};
|
||||||
@@ -80,4 +86,22 @@ void VarArgTestCase::StringPrintf()
|
|||||||
// literal:
|
// literal:
|
||||||
bool cond = true;
|
bool cond = true;
|
||||||
s2.Printf(_T("foo %s"), !cond ? s.c_str() : _T("bar"));
|
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
|
||||||
|
Reference in New Issue
Block a user