From a7823b26b0fe62192d777a96b9f171c30decdeb8 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Sun, 2 Apr 2006 14:06:50 +0000 Subject: [PATCH] added UTF-32 test git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38521 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- tests/strings/unicode.cpp | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/tests/strings/unicode.cpp b/tests/strings/unicode.cpp index 42e92cfa26..2daf4a2eef 100644 --- a/tests/strings/unicode.cpp +++ b/tests/strings/unicode.cpp @@ -57,6 +57,7 @@ private: CPPUNIT_TEST( ConversionUTF7 ); CPPUNIT_TEST( ConversionUTF8 ); CPPUNIT_TEST( ConversionUTF16 ); + CPPUNIT_TEST( ConversionUTF32 ); #endif // wxUSE_WCHAR_T CPPUNIT_TEST_SUITE_END(); @@ -67,6 +68,7 @@ private: void ConversionUTF7(); void ConversionUTF8(); void ConversionUTF16(); + void ConversionUTF32(); // test if converting s using the given encoding gives ws and vice versa // @@ -275,5 +277,29 @@ void UnicodeTestCase::ConversionUTF16() CPPUNIT_ASSERT_EQUAL( 3u, len ); } +void UnicodeTestCase::ConversionUTF32() +{ + static const StringConversionData utf32data[] = + { +#ifdef wxHAVE_U_ESCAPE + { "\0\0\x04\x1f\0\0\x04\x40\0\0\x04\x38\0\0\x04\x32\0\0\x04\x35\0\0\x04\x42\0\0", + L"\u041f\u0440\u0438\u0432\u0435\u0442" }, +#endif + { "\0\0\0f\0\0\0o\0\0\0o\0\0\0\0", L"foo" }, + }; + + wxCSConv conv(wxFONTENCODING_UTF32BE); + for ( size_t n = 0; n < WXSIZEOF(utf32data); n++ ) + { + const StringConversionData& d = utf32data[n]; + DoTestConversion(d.str, d.wcs, conv); + } + + size_t len; + wxWCharBuffer wbuf(conv.cMB2WC("\0\0\x01\0\0\0\0B\0\0\0C" /* A macron BC */, + 12, &len)); + CPPUNIT_ASSERT_EQUAL( 3u, len ); +} + #endif // wxUSE_WCHAR_T -- 2.47.2