added GetString() test

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36740 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2006-01-06 21:33:39 +00:00
parent bb64b8bdd5
commit 06ef151178

View File

@@ -36,12 +36,14 @@ private:
CPPUNIT_TEST_SUITE( TokenizerTestCase );
CPPUNIT_TEST( GetCount );
CPPUNIT_TEST( GetPosition );
CPPUNIT_TEST( GetString );
CPPUNIT_TEST( LastDelimiter );
CPPUNIT_TEST( StrtokCompat );
CPPUNIT_TEST_SUITE_END();
void GetCount();
void GetPosition();
void GetString();
void LastDelimiter();
void StrtokCompat();
@@ -186,6 +188,43 @@ void TokenizerTestCase::GetPosition()
DoTestGetPosition(_T("foo_bar_"), _T("_"), 4, 8, 0);
}
// helper for GetString(): the parameters are the same as for DoTestGetPosition
// but it checks GetString() return value instead of GetPosition()
static void
DoTestGetString(const wxChar *s, const wxChar *delims, int pos, ...)
{
wxStringTokenizer tkz(s, delims);
CPPUNIT_ASSERT_EQUAL( wxString(s), tkz.GetString() );
va_list ap;
va_start(ap, pos);
for ( ;; )
{
if ( !pos )
{
CPPUNIT_ASSERT_EQUAL( wxString(), tkz.GetString() );
break;
}
tkz.GetNextToken();
CPPUNIT_ASSERT_EQUAL( wxString(s + pos), tkz.GetString() );
pos = va_arg(ap, int);
}
va_end(ap);
}
void TokenizerTestCase::GetString()
{
DoTestGetString(_T("foo"), _T("_"), 3, 0);
DoTestGetString(_T("foo_bar"), _T("_"), 4, 7, 0);
DoTestGetString(_T("foo_bar_"), _T("_"), 4, 8, 0);
}
void TokenizerTestCase::LastDelimiter()
{
wxStringTokenizer tkz(_T("a+-b=c"), _T("+-="));