]> git.saurik.com Git - wxWidgets.git/blobdiff - tests/controls/comboboxtest.cpp
Don't reset bullet number and outline number when applying style sheet.
[wxWidgets.git] / tests / controls / comboboxtest.cpp
index 82678cc1e44f45b07229eb061130bc27a1e913fd..512c1e12c1dc6512fedff9eb25deca83c3e72e13 100644 (file)
@@ -49,8 +49,12 @@ private:
 
     CPPUNIT_TEST_SUITE( ComboBoxTestCase );
         wxTEXT_ENTRY_TESTS();
+
+        CPPUNIT_TEST( Size );
     CPPUNIT_TEST_SUITE_END();
 
+    void Size();
+
     wxComboBox *m_combo;
 
     DECLARE_NO_COPY_CLASS(ComboBoxTestCase)
@@ -81,3 +85,28 @@ void ComboBoxTestCase::tearDown()
 // tests themselves
 // ----------------------------------------------------------------------------
 
+void ComboBoxTestCase::Size()
+{
+    // under MSW changing combobox size is a non-trivial operation because of
+    // confusion between the size of the control with and without dropdown, so
+    // check that it does work as expected
+
+    const int heightOrig = m_combo->GetSize().y;
+
+    // check that the height doesn't change if we don't touch it
+    m_combo->SetSize(100, -1);
+    CPPUNIT_ASSERT_EQUAL( heightOrig, m_combo->GetSize().y );
+
+    // check that setting both big and small (but not too small, there is a
+    // limit on how small the control can become under MSW) heights works
+    m_combo->SetSize(-1, 50);
+    CPPUNIT_ASSERT_EQUAL( 50, m_combo->GetSize().y );
+
+    m_combo->SetSize(-1, 10);
+    CPPUNIT_ASSERT_EQUAL( 10, m_combo->GetSize().y );
+
+    // and also that restoring it works (this used to be broken before 2.9.1)
+    m_combo->SetSize(-1, heightOrig);
+    CPPUNIT_ASSERT_EQUAL( heightOrig, m_combo->GetSize().y );
+}
+