A couple more tests.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@43295 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Michael Wetherell
2006-11-10 22:49:45 +00:00
parent 3c7f37eddb
commit cc4a79c0f0

View File

@@ -92,7 +92,7 @@ private:
#endif #endif
CPPUNIT_TEST( BigToSmallBuffer ); CPPUNIT_TEST( BigToSmallBuffer );
CPPUNIT_TEST( Scratch ); CPPUNIT_TEST( Miscellaneous );
CPPUNIT_TEST_SUITE_END(); CPPUNIT_TEST_SUITE_END();
void D(); void D();
@@ -112,7 +112,7 @@ private:
void Unicode(); void Unicode();
void BigToSmallBuffer(); void BigToSmallBuffer();
void Scratch(); void Miscellaneous();
void Misc(wxChar *buffer, int size); void Misc(wxChar *buffer, int size);
DECLARE_NO_COPY_CLASS(VsnprintfTestCase) DECLARE_NO_COPY_CLASS(VsnprintfTestCase)
@@ -360,7 +360,7 @@ void VsnprintfTestCase::BigToSmallBuffer()
Misc(&buf4, 1); Misc(&buf4, 1);
} }
static void DoScratch( static void DoMisc(
int expectedLen, int expectedLen,
const wxString& expectedString, const wxString& expectedString,
size_t max, size_t max,
@@ -405,27 +405,27 @@ static void DoScratch(
CPPUNIT_ASSERT_MESSAGE(overflowMsg, buf[i] == '*'); CPPUNIT_ASSERT_MESSAGE(overflowMsg, buf[i] == '*');
} }
// Originally intended to test the final copy from the scratch, hence the void VsnprintfTestCase::Miscellaneous()
// name, but turns up problems elsewhere too.
//
void VsnprintfTestCase::Scratch()
{ {
// expectedLen, expectedString, max, format, ... // expectedLen, expectedString, max, format, ...
DoScratch(5, wxT("-1234"), 8, wxT("%d"), -1234); DoMisc(5, wxT("-1234"), 8, wxT("%d"), -1234);
DoScratch(7, wxT("1234567"), 8, wxT("%d"), 1234567); DoMisc(7, wxT("1234567"), 8, wxT("%d"), 1234567);
DoScratch(-1, wxT("1234567"), 8, wxT("%d"), 12345678); DoMisc(-1, wxT("1234567"), 8, wxT("%d"), 12345678);
DoScratch(-1, wxT("-123456"), 8, wxT("%d"), -1234567890); DoMisc(-1, wxT("-123456"), 8, wxT("%d"), -1234567890);
DoScratch(6, wxT("123456"), 8, wxT("123456")); DoMisc(6, wxT("123456"), 8, wxT("123456"));
DoScratch(7, wxT("1234567"), 8, wxT("1234567")); DoMisc(7, wxT("1234567"), 8, wxT("1234567"));
DoScratch(-1, wxT("1234567"), 8, wxT("12345678")); DoMisc(-1, wxT("1234567"), 8, wxT("12345678"));
DoScratch(6, wxT("123450"), 8, wxT("12345%d"), 0); DoMisc(6, wxT("123450"), 8, wxT("12345%d"), 0);
DoScratch(7, wxT("1234560"), 8, wxT("123456%d"), 0); DoMisc(7, wxT("1234560"), 8, wxT("123456%d"), 0);
DoScratch(-1, wxT("1234567"), 8, wxT("1234567%d"), 0); DoMisc(-1, wxT("1234567"), 8, wxT("1234567%d"), 0);
DoScratch(-1, wxT("1234567"), 8, wxT("12345678%d"), 0); DoMisc(-1, wxT("1234567"), 8, wxT("12345678%d"), 0);
DoScratch(6, wxT("12%45%"), 8, wxT("12%%45%%")); DoMisc(6, wxT("12%45%"), 8, wxT("12%%45%%"));
DoScratch(7, wxT("12%45%7"), 8, wxT("12%%45%%7")); DoMisc(7, wxT("12%45%7"), 8, wxT("12%%45%%7"));
DoScratch(-1, wxT("12%45%7"), 8, wxT("12%%45%%78")); DoMisc(-1, wxT("12%45%7"), 8, wxT("12%%45%%78"));
DoMisc(5, wxT("%%%%%"), 6, wxT("%%%%%%%%%%"));
DoMisc(6, wxT("%%%%12"), 7, wxT("%%%%%%%%%d"), 12);
} }