X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/69fc85873dfe7a9ea4f25ffc34bec7c0ee719368..e02ea2030c4ee8c2d01c5823e2dc3d1ba7837acf:/tests/file/filetest.cpp diff --git a/tests/file/filetest.cpp b/tests/file/filetest.cpp index 85e70ab8e6..4ee972b8b7 100644 --- a/tests/file/filetest.cpp +++ b/tests/file/filetest.cpp @@ -34,15 +34,19 @@ public: private: CPPUNIT_TEST_SUITE( FileTestCase ); +#if wxUSE_UNICODE CPPUNIT_TEST( RoundTripUTF8 ); CPPUNIT_TEST( RoundTripUTF16 ); CPPUNIT_TEST( RoundTripUTF32 ); +#endif // wxUSE_UNICODE CPPUNIT_TEST( TempFile ); CPPUNIT_TEST_SUITE_END(); +#if wxUSE_UNICODE void RoundTripUTF8() { DoRoundTripTest(wxConvUTF8); } void RoundTripUTF16() { DoRoundTripTest(wxMBConvUTF16()); } void RoundTripUTF32() { DoRoundTripTest(wxMBConvUTF32()); } +#endif // wxUSE_UNICODE void DoRoundTripTest(const wxMBConv& conv); void TempFile(); @@ -61,11 +65,14 @@ CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( FileTestCase, "FileTestCase" ); // tests implementation // ---------------------------------------------------------------------------- +#if wxUSE_UNICODE + void FileTestCase::DoRoundTripTest(const wxMBConv& conv) { TestFile tf; - const wxString data = "Hello\0UTF"; + // Explicit length is needed because of the embedded NUL. + const wxString data("Hello\0UTF!", 10); { wxFile fout(tf.GetName(), wxFile::write); @@ -82,18 +89,13 @@ void FileTestCase::DoRoundTripTest(const wxMBConv& conv) wxCharBuffer buf(len); CPPUNIT_ASSERT_EQUAL( len, fin.Read(buf.data(), len) ); - wxWCharBuffer wbuf(conv.cMB2WC(buf)); -#if wxUSE_UNICODE - CPPUNIT_ASSERT_EQUAL( data, wbuf ); -#else // !wxUSE_UNICODE - CPPUNIT_ASSERT - ( - memcmp(wbuf, L"Hello\0UTF", data.length()*sizeof(wchar_t)) == 0 - ); -#endif // wxUSE_UNICODE/!wxUSE_UNICODE + wxString dataReadBack(buf, conv, len); + CPPUNIT_ASSERT_EQUAL( data, dataReadBack ); } } +#endif // wxUSE_UNICODE + void FileTestCase::TempFile() { wxTempFile tmpFile;