From 245ff47f7c0715d95aac7844604b0a74633e8dc9 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Sat, 4 Apr 2009 16:45:23 +0000 Subject: [PATCH] fix the test for !wxUSE_UNICODE_UTF8 builds: don't suppose that strings are UTF-8 encoded in VsnprintfTestCase::S() but use FromUTF8() explicitly (how did it manage to work with VC9 before?) git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60018 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- tests/strings/vsnprintf.cpp | 36 +++++++++++++++++++++--------------- 1 file changed, 21 insertions(+), 15 deletions(-) diff --git a/tests/strings/vsnprintf.cpp b/tests/strings/vsnprintf.cpp index da30bb377f..e77d87c28c 100644 --- a/tests/strings/vsnprintf.cpp +++ b/tests/strings/vsnprintf.cpp @@ -348,21 +348,27 @@ void VsnprintfTestCase::S() #define ABCDEFGHI "\xCE\xB1\xCE\xB2\xCE\xB3\xCE\xB4\xCE\xB5\xCE\xB6\xCE\xB7\xCE\xB8\xCE\xB9" // alpha+beta+gamma+delta+epsilon+zeta+eta+theta+iota -#define ALPHA_w wxT(ALPHA) -#define ABC_w wxT(ABC) -#define ABCDE_w wxT(ABCDE) -#define ABCDEFGHI_w wxT(ABCDEFGHI) - - // CMP3 uses wxT() on the first argument so we need to be careful - // when using string concatenation that all parts of the string after - // the first explicitely use wxT(): - CMP3(" " ABC_w, "%5s", ABC); - CMP3(" " ALPHA_w, "%5s", ALPHA); - CMP3(ABCDEFGHI, "%5s", ABCDEFGHI); - CMP3(ABC L" ", "%-5s", ABC); - CMP3(ABCDEFGHI, "%-5s", ABCDEFGHI); - CMP3(ABCDE, "%.5s", ABCDEFGHI); -#endif + // the 'expected' and 'arg' parameters of this macro are supposed to be + // UTF-8 strings +#define CMP3_UTF8(expected, fmt, arg) \ + CPPUNIT_ASSERT_EQUAL \ + ( \ + wxString::FromUTF8(expected).length(), \ + wxSnprintf(buf, MAX_TEST_LEN, fmt, wxString::FromUTF8(arg)) \ + ); \ + CPPUNIT_ASSERT_EQUAL \ + ( \ + wxString::FromUTF8(expected), \ + buf \ + ) + + CMP3_UTF8(" " ABC, "%5s", ABC); + CMP3_UTF8(" " ALPHA, "%5s", ALPHA); + CMP3_UTF8(ABCDEFGHI, "%5s", ABCDEFGHI); + CMP3_UTF8(ABC " ", "%-5s", ABC); + CMP3_UTF8(ABCDEFGHI, "%-5s", ABCDEFGHI); + CMP3_UTF8(ABCDE, "%.5s", ABCDEFGHI); +#endif // wxUSE_UNICODE // test a string which has a NULL character after "ab"; // obviously it should be handled exactly like just as "ab" -- 2.45.2