]> git.saurik.com Git - wxWidgets.git/commitdiff
add unit test for wxTextEntry methods of wxComboBox
authorVadim Zeitlin <vadim@wxwidgets.org>
Fri, 19 Sep 2008 10:18:30 +0000 (10:18 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Fri, 19 Sep 2008 10:18:30 +0000 (10:18 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55733 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

12 files changed:
tests/Makefile.in
tests/controls/comboboxtest.cpp [new file with mode: 0644]
tests/controls/textentrytest.cpp
tests/controls/textentrytest.h
tests/makefile.bcc
tests/makefile.gcc
tests/makefile.vc
tests/makefile.wat
tests/test.bkl
tests/test_test_gui.dsp
tests/test_vc7_test_gui.vcproj
tests/test_vc8_test_gui.vcproj

index b19b5a6d4d41affba7e0d263fa93c9f89cd31acd..bbff08c43ad6dfaf93b85de1c37c02446fa88ff0 100644 (file)
@@ -120,6 +120,7 @@ TEST_GUI_OBJECTS =  \
        test_gui_size.o \
        test_gui_point.o \
        test_gui_config.o \
+       test_gui_comboboxtest.o \
        test_gui_textctrltest.o \
        test_gui_textentrytest.o \
        test_gui_rawbmp.o \
@@ -518,6 +519,9 @@ test_gui_point.o: $(srcdir)/geometry/point.cpp $(TEST_GUI_ODEP)
 test_gui_config.o: $(srcdir)/config/config.cpp $(TEST_GUI_ODEP)
        $(CXXC) -c -o $@ $(TEST_GUI_CXXFLAGS) $(srcdir)/config/config.cpp
 
+test_gui_comboboxtest.o: $(srcdir)/controls/comboboxtest.cpp $(TEST_GUI_ODEP)
+       $(CXXC) -c -o $@ $(TEST_GUI_CXXFLAGS) $(srcdir)/controls/comboboxtest.cpp
+
 test_gui_textctrltest.o: $(srcdir)/controls/textctrltest.cpp $(TEST_GUI_ODEP)
        $(CXXC) -c -o $@ $(TEST_GUI_CXXFLAGS) $(srcdir)/controls/textctrltest.cpp
 
diff --git a/tests/controls/comboboxtest.cpp b/tests/controls/comboboxtest.cpp
new file mode 100644 (file)
index 0000000..82678cc
--- /dev/null
@@ -0,0 +1,83 @@
+///////////////////////////////////////////////////////////////////////////////
+// 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
+// ----------------------------------------------------------------------------
+
index 80e6482fa90d9efabc9ee5a4c5a6edfd127d7658..03adf476800945f205ff26db2b577cd3b1d130fe 100644 (file)
@@ -96,6 +96,11 @@ void TextEntryTestCase::TextChangeEvents()
     CPPUNIT_ASSERT_EQUAL( 1, handler.GetEvents() );
 }
 
+void TextEntryTestCase::CheckStringSelection(const char *sel)
+{
+    CPPUNIT_ASSERT_EQUAL( sel, GetTestEntry()->GetStringSelection() );
+}
+
 void TextEntryTestCase::AssertSelection(int from, int to, const char *sel)
 {
     wxTextEntry * const entry = GetTestEntry();
@@ -107,9 +112,10 @@ void TextEntryTestCase::AssertSelection(int from, int to, const char *sel)
     entry->GetSelection(&fromReal, &toReal);
     CPPUNIT_ASSERT_EQUAL( from, fromReal );
     CPPUNIT_ASSERT_EQUAL( to, toReal );
-    CPPUNIT_ASSERT_EQUAL( sel, entry->GetStringSelection() );
 
     CPPUNIT_ASSERT_EQUAL( from, entry->GetInsertionPoint() );
+
+    CheckStringSelection(sel);
 }
 
 void TextEntryTestCase::Selection()
index db4058c2cb89f7f369e80e95f67e9afe13d7f488..b8376ddde056bce576a9a2b0ecdc46d5e2a4b92a 100644 (file)
@@ -49,6 +49,15 @@ private:
     // function parameters
     void AssertSelection(int from, int to, const char *sel);
 
+    // helper of AssertSelection(): check that the text selected in the control
+    // is the given one
+    //
+    // this is necessary to disable testing this in wxComboBox test as it
+    // doesn't provide any way to access the string selection directly, its
+    // GetStringSelection() method returns the currently selected string in the
+    // wxChoice part of the control, not the selected text
+    virtual void CheckStringSelection(const char *sel);
+
     DECLARE_NO_COPY_CLASS(TextEntryTestCase)
 };
 
index e49acfeb047c875b9c6da890d23e9e09cfa46b52..28fac03543d27724e175b13e04a5fc98e8ecef71 100644 (file)
@@ -108,6 +108,7 @@ TEST_GUI_OBJECTS =  \
        $(OBJS)\test_gui_size.obj \
        $(OBJS)\test_gui_point.obj \
        $(OBJS)\test_gui_config.obj \
+       $(OBJS)\test_gui_comboboxtest.obj \
        $(OBJS)\test_gui_textctrltest.obj \
        $(OBJS)\test_gui_textentrytest.obj \
        $(OBJS)\test_gui_rawbmp.obj \
@@ -559,6 +560,9 @@ $(OBJS)\test_gui_point.obj: .\geometry\point.cpp
 $(OBJS)\test_gui_config.obj: .\config\config.cpp
        $(CXX) -q -c -P -o$@ $(TEST_GUI_CXXFLAGS) .\config\config.cpp
 
+$(OBJS)\test_gui_comboboxtest.obj: .\controls\comboboxtest.cpp
+       $(CXX) -q -c -P -o$@ $(TEST_GUI_CXXFLAGS) .\controls\comboboxtest.cpp
+
 $(OBJS)\test_gui_textctrltest.obj: .\controls\textctrltest.cpp
        $(CXX) -q -c -P -o$@ $(TEST_GUI_CXXFLAGS) .\controls\textctrltest.cpp
 
index f26f896dc962e219b4635d91b0bf82b736bd9fa4..b5c426383d13ccd31a4180bb2897da05bbb67bee 100644 (file)
@@ -101,6 +101,7 @@ TEST_GUI_OBJECTS =  \
        $(OBJS)\test_gui_size.o \
        $(OBJS)\test_gui_point.o \
        $(OBJS)\test_gui_config.o \
+       $(OBJS)\test_gui_comboboxtest.o \
        $(OBJS)\test_gui_textctrltest.o \
        $(OBJS)\test_gui_textentrytest.o \
        $(OBJS)\test_gui_rawbmp.o \
@@ -537,6 +538,9 @@ $(OBJS)\test_gui_point.o: ./geometry/point.cpp
 $(OBJS)\test_gui_config.o: ./config/config.cpp
        $(CXX) -c -o $@ $(TEST_GUI_CXXFLAGS) $(CPPDEPS) $<
 
+$(OBJS)\test_gui_comboboxtest.o: ./controls/comboboxtest.cpp
+       $(CXX) -c -o $@ $(TEST_GUI_CXXFLAGS) $(CPPDEPS) $<
+
 $(OBJS)\test_gui_textctrltest.o: ./controls/textctrltest.cpp
        $(CXX) -c -o $@ $(TEST_GUI_CXXFLAGS) $(CPPDEPS) $<
 
index ba13c3956252ebb87cb97fdd8b09585796f6f521..e3fea7ba2551e4a1d9d2bd1babc90691bae4751f 100644 (file)
@@ -104,6 +104,7 @@ TEST_GUI_OBJECTS =  \
        $(OBJS)\test_gui_size.obj \
        $(OBJS)\test_gui_point.obj \
        $(OBJS)\test_gui_config.obj \
+       $(OBJS)\test_gui_comboboxtest.obj \
        $(OBJS)\test_gui_textctrltest.obj \
        $(OBJS)\test_gui_textentrytest.obj \
        $(OBJS)\test_gui_rawbmp.obj \
@@ -644,6 +645,9 @@ $(OBJS)\test_gui_point.obj: .\geometry\point.cpp
 $(OBJS)\test_gui_config.obj: .\config\config.cpp
        $(CXX) /c /nologo /TP /Fo$@ $(TEST_GUI_CXXFLAGS) .\config\config.cpp
 
+$(OBJS)\test_gui_comboboxtest.obj: .\controls\comboboxtest.cpp
+       $(CXX) /c /nologo /TP /Fo$@ $(TEST_GUI_CXXFLAGS) .\controls\comboboxtest.cpp
+
 $(OBJS)\test_gui_textctrltest.obj: .\controls\textctrltest.cpp
        $(CXX) /c /nologo /TP /Fo$@ $(TEST_GUI_CXXFLAGS) .\controls\textctrltest.cpp
 
index 0289c7618e74f5fbcd039de4200b4b1b71808ae4..497e62e0bfe455c9af669429764cf26554db9f61 100644 (file)
@@ -313,6 +313,7 @@ TEST_GUI_OBJECTS =  &
        $(OBJS)\test_gui_size.obj &
        $(OBJS)\test_gui_point.obj &
        $(OBJS)\test_gui_config.obj &
+       $(OBJS)\test_gui_comboboxtest.obj &
        $(OBJS)\test_gui_textctrltest.obj &
        $(OBJS)\test_gui_textentrytest.obj &
        $(OBJS)\test_gui_rawbmp.obj &
@@ -590,6 +591,9 @@ $(OBJS)\test_gui_point.obj :  .AUTODEPEND .\geometry\point.cpp
 $(OBJS)\test_gui_config.obj :  .AUTODEPEND .\config\config.cpp
        $(CXX) -bt=nt -zq -fo=$^@ $(TEST_GUI_CXXFLAGS) $<
 
+$(OBJS)\test_gui_comboboxtest.obj :  .AUTODEPEND .\controls\comboboxtest.cpp
+       $(CXX) -bt=nt -zq -fo=$^@ $(TEST_GUI_CXXFLAGS) $<
+
 $(OBJS)\test_gui_textctrltest.obj :  .AUTODEPEND .\controls\textctrltest.cpp
        $(CXX) -bt=nt -zq -fo=$^@ $(TEST_GUI_CXXFLAGS) $<
 
index de3a9f76e3dde87c304a918ab49527d5c6874073..80ec00b75f00fbd47d1ebefcaff3acafa2bc1639 100644 (file)
             geometry/size.cpp
             geometry/point.cpp
             config/config.cpp
+            controls/comboboxtest.cpp
             controls/textctrltest.cpp
             controls/textentrytest.cpp
             image/rawbmp.cpp
index 03cc75b4ce62a75ec0f0822e9d47381eb5bae0d2..231f6734141cdbe909e8ec61ba6458488e7bce07 100644 (file)
@@ -239,6 +239,10 @@ SOURCE=.\window\clientsize.cpp
 # End Source File\r
 # Begin Source File\r
 \r
+SOURCE=.\controls\comboboxtest.cpp\r
+# End Source File\r
+# Begin Source File\r
+\r
 SOURCE=.\config\config.cpp\r
 # End Source File\r
 # Begin Source File\r
index cd9e2a00b7d20358fc6b453722aef39fc6f88d98..aa09fa51398714c92fa7c1ac1e0e3ed0d5d7ec75 100644 (file)
                        Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx">\r
                        <File\r
                                RelativePath=".\window\clientsize.cpp"/>\r
+                       <File\r
+                               RelativePath=".\controls\comboboxtest.cpp"/>\r
                        <File\r
                                RelativePath=".\config\config.cpp"/>\r
                        <File\r
index fe90c726d7555808f120dca6ac882a8a7d4323f5..42a44fedee3b7bb0bb48a088dbaf23eb384de2a8 100644 (file)
                        <File\r
                                RelativePath=".\window\clientsize.cpp"\r
                        />\r
+                       <File\r
+                               RelativePath=".\controls\comboboxtest.cpp"\r
+                       />\r
                        <File\r
                                RelativePath=".\config\config.cpp"\r
                        />\r