]> git.saurik.com Git - wxWidgets.git/blobdiff - tests/controls/comboboxtest.cpp
implementing delayed freezing, fixes #12865
[wxWidgets.git] / tests / controls / comboboxtest.cpp
index a8ed3827d28b246ce6082e969c6a5ec2b1a21039..e811f4a086b007dcbd8b4a91bacd01354fa4d2c0 100644 (file)
@@ -62,12 +62,14 @@ private:
         CPPUNIT_TEST( PopDismiss );
         CPPUNIT_TEST( Sort );
         CPPUNIT_TEST( ReadOnly );
+        CPPUNIT_TEST( IsEmpty );
     CPPUNIT_TEST_SUITE_END();
 
     void Size();
     void PopDismiss();
     void Sort();
     void ReadOnly();
+    void IsEmpty();
 
     wxComboBox *m_combo;
 
@@ -77,7 +79,7 @@ private:
 // 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" );
 
 // ----------------------------------------------------------------------------
@@ -127,17 +129,14 @@ void ComboBoxTestCase::Size()
 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_COMMAND_COMBOBOX_DROPDOWN);
+    EventCounter close(m_combo, wxEVT_COMMAND_COMBOBOX_CLOSEUP);
 
     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
 }
 
@@ -194,4 +193,27 @@ void ComboBoxTestCase::ReadOnly()
 #endif
 }
 
+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 //wxUSE_COMBOBOX