]> git.saurik.com Git - wxWidgets.git/blobdiff - tests/controls/comboboxtest.cpp
reusing existing API
[wxWidgets.git] / tests / controls / comboboxtest.cpp
index 65e4161835126c8aa5ea0508c790128000cf7848..147c5638a77c8fc2a14edb8a02aecd05a2a0f58a 100644 (file)
@@ -56,18 +56,33 @@ private:
     }
 
     CPPUNIT_TEST_SUITE( ComboBoxTestCase );
     }
 
     CPPUNIT_TEST_SUITE( ComboBoxTestCase );
+#ifdef __WXOSX__
+    CPPUNIT_TEST( SetValue );
+    CPPUNIT_TEST( TextChangeEvents );
+    CPPUNIT_TEST( Selection );
+    CPPUNIT_TEST( InsertionPoint );
+    CPPUNIT_TEST( Replace );
+//  TODO on OS X only works interactively
+//   WXUISIM_TEST( Editable );
+    CPPUNIT_TEST( Hint );
+    CPPUNIT_TEST( CopyPaste ); 
+    CPPUNIT_TEST( UndoRedo );
+#else
         wxTEXT_ENTRY_TESTS();
         wxTEXT_ENTRY_TESTS();
+#endif
         wxITEM_CONTAINER_TESTS();
         CPPUNIT_TEST( Size );
         CPPUNIT_TEST( PopDismiss );
         CPPUNIT_TEST( Sort );
         CPPUNIT_TEST( ReadOnly );
         wxITEM_CONTAINER_TESTS();
         CPPUNIT_TEST( Size );
         CPPUNIT_TEST( PopDismiss );
         CPPUNIT_TEST( Sort );
         CPPUNIT_TEST( ReadOnly );
+        CPPUNIT_TEST( IsEmpty );
     CPPUNIT_TEST_SUITE_END();
 
     void Size();
     void PopDismiss();
     void Sort();
     void ReadOnly();
     CPPUNIT_TEST_SUITE_END();
 
     void Size();
     void PopDismiss();
     void Sort();
     void ReadOnly();
+    void IsEmpty();
 
     wxComboBox *m_combo;
 
 
     wxComboBox *m_combo;
 
@@ -77,7 +92,7 @@ private:
 // register in the unnamed registry so that these tests are run by default
 CPPUNIT_TEST_SUITE_REGISTRATION( ComboBoxTestCase );
 
 // register in the unnamed registry so that these tests are run by default
 CPPUNIT_TEST_SUITE_REGISTRATION( ComboBoxTestCase );
 
-// also include in it's own registry so that these tests can be run alone
+// also include in its own registry so that these tests can be run alone
 CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( ComboBoxTestCase, "ComboBoxTestCase" );
 
 // ----------------------------------------------------------------------------
 CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( ComboBoxTestCase, "ComboBoxTestCase" );
 
 // ----------------------------------------------------------------------------
@@ -127,23 +142,20 @@ void ComboBoxTestCase::Size()
 void ComboBoxTestCase::PopDismiss()
 {
 #if defined(__WXMSW__) || defined(__WXGTK210__)
 void ComboBoxTestCase::PopDismiss()
 {
 #if defined(__WXMSW__) || defined(__WXGTK210__)
-    wxTestableFrame* frame = wxStaticCast(wxTheApp->GetTopWindow(),
-                                          wxTestableFrame);
-
-    EventCounter count(m_combo, wxEVT_COMMAND_COMBOBOX_DROPDOWN);
-    EventCounter count1(m_combo, wxEVT_COMMAND_COMBOBOX_CLOSEUP);
+    EventCounter drop(m_combo, wxEVT_COMBOBOX_DROPDOWN);
+    EventCounter close(m_combo, wxEVT_COMBOBOX_CLOSEUP);
 
     m_combo->Popup();
     m_combo->Dismiss();
 
 
     m_combo->Popup();
     m_combo->Dismiss();
 
-    CPPUNIT_ASSERT_EQUAL(1, frame->GetEventCount(wxEVT_COMMAND_COMBOBOX_DROPDOWN));
-    CPPUNIT_ASSERT_EQUAL(1, frame->GetEventCount(wxEVT_COMMAND_COMBOBOX_CLOSEUP));
+    CPPUNIT_ASSERT_EQUAL(1, drop.GetCount());
+    CPPUNIT_ASSERT_EQUAL(1, close.GetCount());
 #endif
 }
 
 void ComboBoxTestCase::Sort()
 {
 #endif
 }
 
 void ComboBoxTestCase::Sort()
 {
-#if !defined(__WXGTK__) && !defined(__WXOSX__)
+#if !defined(__WXOSX__)
     m_combo = new wxComboBox(wxTheApp->GetTopWindow(), wxID_ANY, "",
                              wxDefaultPosition, wxDefaultSize, 0, NULL,
                              wxCB_SORT);
     m_combo = new wxComboBox(wxTheApp->GetTopWindow(), wxID_ANY, "",
                              wxDefaultPosition, wxDefaultSize, 0, NULL,
                              wxCB_SORT);
@@ -170,7 +182,6 @@ void ComboBoxTestCase::Sort()
 
 void ComboBoxTestCase::ReadOnly()
 {
 
 void ComboBoxTestCase::ReadOnly()
 {
-#ifndef __WXOSX__
     wxArrayString testitems;
     testitems.Add("item 1");
     testitems.Add("item 2");
     wxArrayString testitems;
     testitems.Add("item 1");
     testitems.Add("item 2");
@@ -191,6 +202,28 @@ void ComboBoxTestCase::ReadOnly()
     m_combo->SetValue("ITEM 2");
 
     CPPUNIT_ASSERT_EQUAL("item 2", m_combo->GetValue());
     m_combo->SetValue("ITEM 2");
 
     CPPUNIT_ASSERT_EQUAL("item 2", m_combo->GetValue());
+}
+
+void ComboBoxTestCase::IsEmpty()
+{
+    CPPUNIT_ASSERT( m_combo->IsListEmpty() );
+    CPPUNIT_ASSERT( m_combo->IsTextEmpty() );
+
+    m_combo->Append("foo");
+    CPPUNIT_ASSERT( !m_combo->IsListEmpty() );
+    CPPUNIT_ASSERT( m_combo->IsTextEmpty() );
+
+    m_combo->SetValue("bar");
+    CPPUNIT_ASSERT( !m_combo->IsListEmpty() );
+    CPPUNIT_ASSERT( !m_combo->IsTextEmpty() );
+
+    m_combo->Clear();
+    CPPUNIT_ASSERT( m_combo->IsListEmpty() );
+    CPPUNIT_ASSERT( m_combo->IsTextEmpty() );
+
+#ifdef TEST_INVALID_COMBOBOX_ISEMPTY
+    // Compiling this should fail, see failtest target definition in test.bkl.
+    m_combo->IsEmpty();
 #endif
 }
 
 #endif
 }