add unit test for wxTextCtrl::SetSelection()

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54775 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin 2008-07-23 23:34:25 +00:00
parent 4800a07000
commit b2b0bee6d8

View File

@ -38,10 +38,16 @@ private:
CPPUNIT_TEST_SUITE( TextCtrlTestCase );
CPPUNIT_TEST( SetValue );
CPPUNIT_TEST( TextChangeEvents );
CPPUNIT_TEST( Selection );
CPPUNIT_TEST_SUITE_END();
void SetValue();
void TextChangeEvents();
void Selection();
// Selection() test helper: verify that selection is as described by the
// function parameters
void AssertSelection(int from, int to, const char *sel);
wxTextCtrl *m_text;
wxFrame *m_frame;
@ -146,3 +152,33 @@ void TextCtrlTestCase::TextChangeEvents()
CPPUNIT_ASSERT_EQUAL( 1, handler.GetEvents() );
}
void TextCtrlTestCase::AssertSelection(int from, int to, const char *sel)
{
CPPUNIT_ASSERT( m_text->HasSelection() );
long fromReal,
toReal;
m_text->GetSelection(&fromReal, &toReal);
CPPUNIT_ASSERT_EQUAL( from, fromReal );
CPPUNIT_ASSERT_EQUAL( to, toReal );
CPPUNIT_ASSERT_EQUAL( sel, m_text->GetStringSelection() );
CPPUNIT_ASSERT_EQUAL( from, m_text->GetInsertionPoint() );
}
void TextCtrlTestCase::Selection()
{
m_text->SetValue("0123456789");
m_text->SetSelection(2, 4);
AssertSelection(2, 4, "23"); // not "234"!
m_text->SetSelection(3, -1);
AssertSelection(3, 10, "3456789");
m_text->SelectAll();
AssertSelection(0, 10, "0123456789");
m_text->SetSelection(0, 0);
CPPUNIT_ASSERT( !m_text->HasSelection() );
}