fix bug with wxCSConv("ASCII")

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54703 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2008-07-19 01:45:38 +00:00
parent a08a37d0d6
commit e3276230de
2 changed files with 14 additions and 3 deletions

View File

@@ -2890,6 +2890,16 @@ wxCSConv::wxCSConv(const wxString& charset)
#if wxUSE_FONTMAP #if wxUSE_FONTMAP
m_encoding = wxFontMapperBase::GetEncodingFromName(charset); m_encoding = wxFontMapperBase::GetEncodingFromName(charset);
if ( m_encoding == wxFONTENCODING_MAX )
{
// set to unknown/invalid value
m_encoding = wxFONTENCODING_SYSTEM;
}
else if ( m_encoding == wxFONTENCODING_DEFAULT )
{
// wxFONTENCODING_DEFAULT is same as US-ASCII in this context
m_encoding = wxFONTENCODING_ISO8859_1;
}
#else #else
m_encoding = wxFONTENCODING_SYSTEM; m_encoding = wxFONTENCODING_SYSTEM;
#endif #endif

View File

@@ -391,11 +391,12 @@ void UnicodeTestCase::ConversionUTF32()
void UnicodeTestCase::IsConvOk() void UnicodeTestCase::IsConvOk()
{ {
CPPUNIT_ASSERT( wxCSConv(wxFONTENCODING_SYSTEM).IsOk() ); CPPUNIT_ASSERT( wxCSConv(wxFONTENCODING_SYSTEM).IsOk() );
CPPUNIT_ASSERT( wxCSConv(_T("UTF-8")).IsOk() ); CPPUNIT_ASSERT( wxCSConv("US-ASCII").IsOk() );
CPPUNIT_ASSERT( !wxCSConv(_T("NoSuchConversion")).IsOk() ); CPPUNIT_ASSERT( wxCSConv("UTF-8").IsOk() );
CPPUNIT_ASSERT( !wxCSConv("NoSuchConversion").IsOk() );
#ifdef __WINDOWS__ #ifdef __WINDOWS__
CPPUNIT_ASSERT( wxCSConv(_T("WINDOWS-437")).IsOk() ); CPPUNIT_ASSERT( wxCSConv("WINDOWS-437").IsOk() );
#endif #endif
} }