]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/cppunit.h
fix wxBitmapComboBox Gtk-CRITICAL assertion `GTK_IS_ENTRY (entry)' failed
[wxWidgets.git] / include / wx / cppunit.h
index c965925b80c463bfae5139d3aaac699c4289299c..f6aee85817e147e349f9828d8ef8c3322c5ddf32 100644 (file)
 //
 
 #include "wx/beforestd.h"
+#ifdef __VISUALC__
+    #pragma warning(push)
+
+    // with cppunit 1.12 we get many bogus warnings 4701 (local variable may be
+    // used without having been initialized) in TestAssert.h
+    #pragma warning(disable:4701)
+
+    // and also 4100 (unreferenced formal parameter) in extensions/
+    // ExceptionTestCaseDecorator.h
+    #pragma warning(disable:4100)
+#endif
+
 #include <cppunit/extensions/TestFactoryRegistry.h>
 #include <cppunit/ui/text/TestRunner.h>
 #include <cppunit/TestCase.h>
 #include <cppunit/extensions/HelperMacros.h>
 #include <cppunit/CompilerOutputter.h>
+
+#ifdef __VISUALC__
+    #pragma warning(pop)
+#endif
 #include "wx/afterstd.h"
 
 #include "wx/string.h"
@@ -71,7 +87,7 @@
     if (Condition) \
         { anyTest; } \
     else \
-        wxLogInfo(wxString::Format(_T("skipping: %s.%s\n  reason: %s equals false\n"), \
+        wxLogInfo(wxString::Format(wxT("skipping: %s.%s\n  reason: %s equals false\n"), \
                                     wxString(suiteName, wxConvUTF8).c_str(), \
                                     wxString(#testMethod, wxConvUTF8).c_str(), \
                                     wxString(#Condition, wxConvUTF8).c_str()))
@@ -87,6 +103,15 @@ CPPUNIT_NS_BEGIN
 
 // provide an overload of cppunit assertEquals(T, T) which can be used to
 // compare wxStrings directly with C strings
+inline void
+assertEquals(const char *expected,
+             const char *actual,
+             CppUnit::SourceLine sourceLine,
+             const std::string& message)
+{
+    assertEquals(wxString(expected), wxString(actual), sourceLine, message);
+}
+
 inline void
 assertEquals(const char *expected,
              const wxString& actual,
@@ -96,6 +121,15 @@ assertEquals(const char *expected,
     assertEquals(wxString(expected), actual, sourceLine, message);
 }
 
+inline void
+assertEquals(const wxString& expected,
+             const char *actual,
+             CppUnit::SourceLine sourceLine,
+             const std::string& message)
+{
+    assertEquals(expected, wxString(actual), sourceLine, message);
+}
+
 inline void
 assertEquals(const wchar_t *expected,
              const wxString& actual,
@@ -105,6 +139,15 @@ assertEquals(const wchar_t *expected,
     assertEquals(wxString(expected), actual, sourceLine, message);
 }
 
+inline void
+assertEquals(const wxString& expected,
+             const wchar_t *actual,
+             CppUnit::SourceLine sourceLine,
+             const std::string& message)
+{
+    assertEquals(expected, wxString(actual), sourceLine, message);
+}
+
 CPPUNIT_NS_END
 
 // define an assertEquals() overload for the given types, this is a helper and
@@ -137,6 +180,7 @@ CPPUNIT_NS_END
     #define WX_CPPUNIT_ALLOW_EQUALS_TO_INT(T) \
         CPPUNIT_NS_BEGIN \
             WX_CPPUNIT_ASSERT_EQUALS(int, T) \
+            WX_CPPUNIT_ASSERT_EQUALS(T, int) \
             WX_CPPUNIT_ASSERT_EQUALS(T, T) \
         CPPUNIT_NS_END
 
@@ -147,6 +191,7 @@ CPPUNIT_NS_END
     #define WX_CPPUNIT_ALLOW_EQUALS_TO_INT(T) \
         CPPUNIT_NS_BEGIN \
             WX_CPPUNIT_ASSERT_EQUALS(int, T) \
+            WX_CPPUNIT_ASSERT_EQUALS(T, int) \
         CPPUNIT_NS_END
 #endif // VC6/!VC6
 
@@ -155,6 +200,15 @@ WX_CPPUNIT_ALLOW_EQUALS_TO_INT(short)
 WX_CPPUNIT_ALLOW_EQUALS_TO_INT(unsigned)
 WX_CPPUNIT_ALLOW_EQUALS_TO_INT(unsigned long)
 
+#if defined( __VMS ) && defined( __ia64 )
+WX_CPPUNIT_ALLOW_EQUALS_TO_INT(std::basic_streambuf<char>::pos_type);
+#endif
+
+#ifdef wxHAS_LONG_LONG_T_DIFFERENT_FROM_LONG
+WX_CPPUNIT_ALLOW_EQUALS_TO_INT(wxLongLong_t)
+WX_CPPUNIT_ALLOW_EQUALS_TO_INT(unsigned wxLongLong_t)
+#endif // wxHAS_LONG_LONG_T_DIFFERENT_FROM_LONG
+
 // Use this macro to compare a wxArrayString with the pipe-separated elements
 // of the given string
 //