]> git.saurik.com Git - wxWidgets.git/blobdiff - tests/controls/gridtest.cpp
reusing existing API
[wxWidgets.git] / tests / controls / gridtest.cpp
index aea226aa2b2dac6f6147c46e240220c6fb1d5542..7c2311a8fc7980ffe998b3d8318b2106aa221221 100644 (file)
 #include "asserthelper.h"
 #include "wx/uiaction.h"
 
+// FIXME: A lot of mouse-related tests sporadically fail in wxGTK. This happens
+//        almost all the time but sometimes the tests do pass and the failure
+//        doesn't happen when debugging so this looks like some kind of event
+//        dispatching/simulating problem rather than a real problem in wxGrid.
+//
+//        Just disable these tests for now but it would be really great to
+//        really fix the problem.
+#ifdef __WXGTK__
+    #define NONGTK_TEST(test)
+#else
+    #define NONGTK_TEST(test) WXUISIM_TEST(test)
+#endif
+
+
 class GridTestCase : public CppUnit::TestCase
 {
 public:
@@ -35,16 +49,17 @@ public:
 private:
     CPPUNIT_TEST_SUITE( GridTestCase );
         WXUISIM_TEST( CellEdit );
-        WXUISIM_TEST( CellClick );
-        WXUISIM_TEST( CellSelect );
-        WXUISIM_TEST( LabelClick );
-        WXUISIM_TEST( SortClick );
+        NONGTK_TEST( CellClick );
+        NONGTK_TEST( CellSelect );
+        NONGTK_TEST( LabelClick );
+        NONGTK_TEST( SortClick );
         WXUISIM_TEST( Size );
-        WXUISIM_TEST( RangeSelect );
+        NONGTK_TEST( RangeSelect );
         CPPUNIT_TEST( Cursor );
         CPPUNIT_TEST( Selection );
         CPPUNIT_TEST( AddRowCol );
         CPPUNIT_TEST( ColumnOrder );
+        CPPUNIT_TEST( ColumnVisibility );
         CPPUNIT_TEST( LineFormatting );
         CPPUNIT_TEST( SortSupport );
         CPPUNIT_TEST( Labels );
@@ -53,12 +68,12 @@ private:
         WXUISIM_TEST( Editable );
         WXUISIM_TEST( ReadOnly );
         CPPUNIT_TEST( PseudoTest_NativeHeader );
-        WXUISIM_TEST( LabelClick );
-        WXUISIM_TEST( SortClick );
+        NONGTK_TEST( LabelClick );
+        NONGTK_TEST( SortClick );
         CPPUNIT_TEST( ColumnOrder );
         CPPUNIT_TEST( PseudoTest_NativeLabels );
-        WXUISIM_TEST( LabelClick );
-        WXUISIM_TEST( SortClick );
+        NONGTK_TEST( LabelClick );
+        NONGTK_TEST( SortClick );
         CPPUNIT_TEST( ColumnOrder );
     CPPUNIT_TEST_SUITE_END();
 
@@ -73,6 +88,7 @@ private:
     void Selection();
     void AddRowCol();
     void ColumnOrder();
+    void ColumnVisibility();
     void LineFormatting();
     void SortSupport();
     void Labels();
@@ -137,7 +153,9 @@ void GridTestCase::tearDown()
 
 void GridTestCase::CellEdit()
 {
-#if wxUSE_UIACTIONSIMULATOR
+    // TODO on OSX when running the grid test suite solo this works
+    // but not when running it together with other tests
+#if wxUSE_UIACTIONSIMULATOR && !defined(__WXOSX__)
     EventCounter changing(m_grid, wxEVT_GRID_CELL_CHANGING);
     EventCounter changed(m_grid, wxEVT_GRID_CELL_CHANGED);
     EventCounter created(m_grid, wxEVT_GRID_EDITOR_CREATED);
@@ -316,7 +334,8 @@ void GridTestCase::SortClick()
 
 void GridTestCase::Size()
 {
-#if wxUSE_UIACTIONSIMULATOR && !defined(__WXGTK__)
+    // TODO on OSX resizing interactively works, but not automated
+#if wxUSE_UIACTIONSIMULATOR && !defined(__WXGTK__) && !defined(__WXOSX__) 
     EventCounter colsize(m_grid, wxEVT_GRID_COL_SIZE);
     EventCounter rowsize(m_grid, wxEVT_GRID_ROW_SIZE);
 
@@ -512,6 +531,19 @@ void GridTestCase::ColumnOrder()
     CPPUNIT_ASSERT_EQUAL(3, m_grid->GetColPos(3));
 }
 
+void GridTestCase::ColumnVisibility()
+{
+    m_grid->AppendCols(3);
+    CPPUNIT_ASSERT( m_grid->IsColShown(1) );
+
+    m_grid->HideCol(1);
+    CPPUNIT_ASSERT( !m_grid->IsColShown(1) );
+    CPPUNIT_ASSERT( m_grid->IsColShown(2) );
+
+    m_grid->ShowCol(1);
+    CPPUNIT_ASSERT( m_grid->IsColShown(1) );
+}
+
 void GridTestCase::LineFormatting()
 {
     CPPUNIT_ASSERT(m_grid->GridLinesEnabled());