added ConversionEmpty() test
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39071 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -53,6 +53,7 @@ private:
|
|||||||
CPPUNIT_TEST( ToFromAscii );
|
CPPUNIT_TEST( ToFromAscii );
|
||||||
#if wxUSE_WCHAR_T
|
#if wxUSE_WCHAR_T
|
||||||
CPPUNIT_TEST( ConstructorsWithConversion );
|
CPPUNIT_TEST( ConstructorsWithConversion );
|
||||||
|
CPPUNIT_TEST( ConversionEmpty );
|
||||||
CPPUNIT_TEST( ConversionWithNULs );
|
CPPUNIT_TEST( ConversionWithNULs );
|
||||||
CPPUNIT_TEST( ConversionUTF7 );
|
CPPUNIT_TEST( ConversionUTF7 );
|
||||||
CPPUNIT_TEST( ConversionUTF8 );
|
CPPUNIT_TEST( ConversionUTF8 );
|
||||||
@@ -64,6 +65,7 @@ private:
|
|||||||
void ToFromAscii();
|
void ToFromAscii();
|
||||||
#if wxUSE_WCHAR_T
|
#if wxUSE_WCHAR_T
|
||||||
void ConstructorsWithConversion();
|
void ConstructorsWithConversion();
|
||||||
|
void ConversionEmpty();
|
||||||
void ConversionWithNULs();
|
void ConversionWithNULs();
|
||||||
void ConversionUTF7();
|
void ConversionUTF7();
|
||||||
void ConversionUTF8();
|
void ConversionUTF8();
|
||||||
@@ -139,33 +141,46 @@ void UnicodeTestCase::ConstructorsWithConversion()
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void UnicodeTestCase::ConversionEmpty()
|
||||||
|
{
|
||||||
|
size_t len;
|
||||||
|
|
||||||
|
#if wxUSE_UNICODE
|
||||||
|
wxCharBuffer buf = wxConvLibc.cWC2MB(L"", 0, &len);
|
||||||
|
#else // !wxUSE_UNICODE
|
||||||
|
wxWCharBuffer wbuf = wxConvLibc.cMB2WC("", 0, &len);
|
||||||
|
#endif // wxUSE_UNICODE/!wxUSE_UNICODE
|
||||||
|
|
||||||
|
CPPUNIT_ASSERT_EQUAL(0u, len);
|
||||||
|
}
|
||||||
|
|
||||||
void UnicodeTestCase::ConversionWithNULs()
|
void UnicodeTestCase::ConversionWithNULs()
|
||||||
{
|
{
|
||||||
#if wxUSE_UNICODE
|
#if wxUSE_UNICODE
|
||||||
static const size_t lenNulString = 10;
|
static const size_t lenNulString = 10;
|
||||||
|
|
||||||
wxString szTheString(L"The\0String", wxConvLibc, lenNulString);
|
wxString szTheString(L"The\0String", wxConvLibc, lenNulString);
|
||||||
wxCharBuffer theBuffer = szTheString.mb_str();
|
wxCharBuffer theBuffer = szTheString.mb_str();
|
||||||
|
|
||||||
CPPUNIT_ASSERT( memcmp(theBuffer.data(), "The\0String",
|
CPPUNIT_ASSERT( memcmp(theBuffer.data(), "The\0String",
|
||||||
lenNulString + 1) == 0 );
|
lenNulString + 1) == 0 );
|
||||||
|
|
||||||
wxString szTheString2("The\0String", wxConvLocal, lenNulString);
|
wxString szTheString2("The\0String", wxConvLocal, lenNulString);
|
||||||
CPPUNIT_ASSERT_EQUAL( lenNulString, szTheString2.length() );
|
CPPUNIT_ASSERT_EQUAL( lenNulString, szTheString2.length() );
|
||||||
CPPUNIT_ASSERT( wxTmemcmp(szTheString2.c_str(), L"The\0String",
|
CPPUNIT_ASSERT( wxTmemcmp(szTheString2.c_str(), L"The\0String",
|
||||||
lenNulString + 1) == 0 );
|
lenNulString + 1) == 0 );
|
||||||
#else // !wxUSE_UNICODE
|
#else // !wxUSE_UNICODE
|
||||||
wxString szTheString(wxT("TheString"));
|
wxString szTheString(wxT("TheString"));
|
||||||
szTheString.insert(3, 1, '\0');
|
szTheString.insert(3, 1, '\0');
|
||||||
wxWCharBuffer theBuffer = szTheString.wc_str(wxConvLibc);
|
wxWCharBuffer theBuffer = szTheString.wc_str(wxConvLibc);
|
||||||
|
|
||||||
CPPUNIT_ASSERT( memcmp(theBuffer.data(), L"The\0String", 11 * sizeof(wchar_t)) == 0 );
|
CPPUNIT_ASSERT( memcmp(theBuffer.data(), L"The\0String", 11 * sizeof(wchar_t)) == 0 );
|
||||||
|
|
||||||
wxString szLocalTheString(wxT("TheString"));
|
wxString szLocalTheString(wxT("TheString"));
|
||||||
szLocalTheString.insert(3, 1, '\0');
|
szLocalTheString.insert(3, 1, '\0');
|
||||||
wxWCharBuffer theLocalBuffer = szLocalTheString.wc_str(wxConvLocal);
|
wxWCharBuffer theLocalBuffer = szLocalTheString.wc_str(wxConvLocal);
|
||||||
|
|
||||||
CPPUNIT_ASSERT( memcmp(theLocalBuffer.data(), L"The\0String", 11 * sizeof(wchar_t)) == 0 );
|
CPPUNIT_ASSERT( memcmp(theLocalBuffer.data(), L"The\0String", 11 * sizeof(wchar_t)) == 0 );
|
||||||
#endif // wxUSE_UNICODE/!wxUSE_UNICODE
|
#endif // wxUSE_UNICODE/!wxUSE_UNICODE
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user