+///////////////////////////////////////////////////////////////////////////////
+// Name: tests/controls/comboboxtest.cpp
+// Purpose: wxComboBox unit test
+// Author: Vadim Zeitlin
+// Created: 2007-09-25
+// RCS-ID: $Id$
+// Copyright: (c) 2007 Vadim Zeitlin <vadim@wxwidgets.org>
+///////////////////////////////////////////////////////////////////////////////
+
+// ----------------------------------------------------------------------------
+// headers
+// ----------------------------------------------------------------------------
+
+#include "testprec.h"
+
+#ifdef __BORLANDC__
+ #pragma hdrstop
+#endif
+
+#ifndef WX_PRECOMP
+ #include "wx/app.h"
+ #include "wx/combobox.h"
+#endif // WX_PRECOMP
+
+#include "textentrytest.h"
+
+// ----------------------------------------------------------------------------
+// test class
+// ----------------------------------------------------------------------------
+
+class ComboBoxTestCase : public TextEntryTestCase
+{
+public:
+ ComboBoxTestCase() { }
+
+ virtual void setUp();
+ virtual void tearDown();
+
+private:
+ virtual wxTextEntry *GetTestEntry() const { return m_combo; }
+ virtual wxWindow *GetTestWindow() const { return m_combo; }
+
+ virtual void CheckStringSelection(const char * WXUNUSED(sel))
+ {
+ // do nothing here, as explained in TextEntryTestCase comment, our
+ // GetStringSelection() is the wxChoice, not wxTextEntry, one and there
+ // is no way to return the selection contents directly
+ }
+
+ CPPUNIT_TEST_SUITE( ComboBoxTestCase );
+ wxTEXT_ENTRY_TESTS();
+ CPPUNIT_TEST_SUITE_END();
+
+ wxComboBox *m_combo;
+
+ DECLARE_NO_COPY_CLASS(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
+CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( ComboBoxTestCase, "ComboBoxTestCase" );
+
+// ----------------------------------------------------------------------------
+// test initialization
+// ----------------------------------------------------------------------------
+
+void ComboBoxTestCase::setUp()
+{
+ m_combo = new wxComboBox(wxTheApp->GetTopWindow(), wxID_ANY);
+}
+
+void ComboBoxTestCase::tearDown()
+{
+ delete m_combo;
+ m_combo = NULL;
+}
+
+// ----------------------------------------------------------------------------
+// tests themselves
+// ----------------------------------------------------------------------------
+