]> git.saurik.com Git - wxWidgets.git/commitdiff
Disable tests for UTF-encoded files in FileTestCase in ANSI build.
authorVadim Zeitlin <vadim@wxwidgets.org>
Sat, 16 Oct 2010 23:05:20 +0000 (23:05 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Sat, 16 Oct 2010 23:05:20 +0000 (23:05 +0000)
These tests didn't work correctly in ANSI build because the conversion
parameter of wxFile::Write() isn't used there, the contents of an ANSI
wxString is always written to the file as is -- hence reading it back using
UTF-16 or UTF-32 conversion fails.

The test would need to be totally rewritten for ANSI build of wx and it
wouldn't test wxFile but rather conversion functions already tested elsewhere
so just disable it instead.

This fixes a crash (due to passing NULL pointer to memcmp()) which prevented
the test suite from running to completion in ANSI build.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65834 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

tests/file/filetest.cpp

index 85e70ab8e6bf73f8e7116a807677e77549654fa0..446a59fa8da560e2130b304a2197034140cda958 100644 (file)
@@ -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,6 +65,8 @@ CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( FileTestCase, "FileTestCase" );
 // tests implementation
 // ----------------------------------------------------------------------------
 
+#if wxUSE_UNICODE
+
 void FileTestCase::DoRoundTripTest(const wxMBConv& conv)
 {
     TestFile tf;
@@ -83,17 +89,12 @@ void FileTestCase::DoRoundTripTest(const wxMBConv& conv)
         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
     }
 }
 
+#endif // wxUSE_UNICODE
+
 void FileTestCase::TempFile()
 {
     wxTempFile tmpFile;