-#if wxUSE_WCHAR_T
-void StringTestCase::ConstructorsWithConversion()
-{
- // the string "Déjà" in UTF-8 and wchar_t:
- const unsigned char utf8Buf[] = {0x44,0xC3,0xA9,0x6A,0xC3,0xA0,0};
- const wchar_t wchar[] = {0x44,0xE9,0x6A,0xE0,0};
- const unsigned char utf8subBuf[] = {0x44,0xC3,0xA9,0x6A,0}; // just "Déj"
- const char *utf8 = (char *)utf8Buf;
- const char *utf8sub = (char *)utf8subBuf;
-
- wxString s1(utf8, wxConvUTF8);
- wxString s2(wchar, wxConvUTF8);
-
-#if wxUSE_UNICODE
- CPPUNIT_ASSERT( s1 == wchar );
- CPPUNIT_ASSERT( s2 == wchar );
-#else
- CPPUNIT_ASSERT( s1 == utf8 );
- CPPUNIT_ASSERT( s2 == utf8 );
-#endif
-
- wxString sub(utf8sub, wxConvUTF8); // "Dej" substring
- wxString s3(utf8, wxConvUTF8, 4);
- wxString s4(wchar, wxConvUTF8, 3);
-
- CPPUNIT_ASSERT( s3 == sub );
- CPPUNIT_ASSERT( s4 == sub );
-}
-
-void StringTestCase::Conversion()
-{
-#if wxUSE_UNICODE
- wxString szTheString(L"The\0String", wxConvLibc, 10);
- wxCharBuffer theBuffer = szTheString.mb_str();
-
- CPPUNIT_ASSERT( memcmp(theBuffer.data(), "The\0String", 11) == 0 );
-
- wxString szTheString2("The\0String", wxConvLocal, 10);
- CPPUNIT_ASSERT( wxMemcmp(szTheString2.c_str(), L"The\0String", 11) == 0 );
-#else
- wxString szTheString(wxT("TheString"));
- szTheString.insert(3, 1, '\0');
- wxWCharBuffer theBuffer = szTheString.wc_str(wxConvLibc);
-
- CPPUNIT_ASSERT( memcmp(theBuffer.data(), L"The\0String", 11 * sizeof(wchar_t)) == 0 );
-
- wxString szLocalTheString(wxT("TheString"));
- szLocalTheString.insert(3, 1, '\0');
- wxWCharBuffer theLocalBuffer = szLocalTheString.wc_str(wxConvLocal);
-
- CPPUNIT_ASSERT( memcmp(theLocalBuffer.data(), L"The\0String", 11 * sizeof(wchar_t)) == 0 );
-#endif
-}
-#endif // wxUSE_WCHAR_T
-
-#if wxUSE_UNICODE
-void StringTestCase::ConversionUTF7()
-{
- const wxChar wdata[] = { 0x00A3, 0x00A3, 0x00A3, 0x00A3, 0 }; // pound signs
- const char *utf7 = "+AKM-+AKM-+AKM-+AKM-";
- wxString str(wdata);
-
- wxCSConv conv(_T("utf-7"));
- CPPUNIT_ASSERT( strcmp(str.mb_str(conv), utf7) == 0 );
-}
-#endif // wxUSE_UNICODE