CPPUNIT_TEST( CP1252Tests ); // depends on UTF8 Decoder functioning correctly
CPPUNIT_TEST( LibcTests );
CPPUNIT_TEST( IconvTests );
+ CPPUNIT_TEST( Latin1Tests );
CPPUNIT_TEST( FontmapTests );
#ifdef HAVE_WCHAR_H
CPPUNIT_TEST( UTF8_41 );
void LibcTests();
void FontmapTests();
void IconvTests();
+ void Latin1Tests();
// verifies that the specified multibyte sequence decodes to the specified wchar_t sequence
void TestDecoder(
#endif
}
+void MBConvTestCase::Latin1Tests()
+{
+ TestCoder(
+ (const char*)iso8859_1,
+ sizeof(iso8859_1),
+ (const char*)iso8859_1_utf8,
+ sizeof(iso8859_1_utf8),
+ wxConvISO8859_1,
+ 1
+ );
+
+ static const char nulstr[] = "foo\0bar\0";
+ static const size_t mbLen = WXSIZEOF(nulstr) - 1;
+ size_t wcLen;
+ wxWCharBuffer wbuf(wxConvISO8859_1.cMB2WC(nulstr, mbLen, &wcLen));
+ CPPUNIT_ASSERT_EQUAL( mbLen, wcLen );
+}
+
void MBConvTestCase::CP1252Tests()
{
wxCSConv convCP1252( wxFONTENCODING_CP1252 );
for ( size_t i = 0; i < wideChars; i++ )
{
wxChar wc = textInputStream.GetChar();
- CPPUNIT_ASSERT( wc == wideBuffer[i] );
+ CPPUNIT_ASSERT_EQUAL_MESSAGE(
+ std::string(wxString::Format("At position %lu", (unsigned long)i)),
+ wideBuffer[i],
+ wc
+ );
}
CPPUNIT_ASSERT( 0 == textInputStream.GetChar() );
CPPUNIT_ASSERT( memoryInputStream.Eof() );
{
textOutputStream.PutChar( wideBuffer[i] );
}
+
+ textOutputStream.Flush();
+
CPPUNIT_ASSERT_EQUAL( (wxFileOffset)multiBytes, memoryOutputStream.TellO() );
wxCharBuffer copy( memoryOutputStream.TellO() );
memoryOutputStream.CopyTo( copy.data(), memoryOutputStream.TellO());