From d911dc04aea492deb04d00794dc4f59d380ab877 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Tue, 14 Apr 2009 13:22:09 +0000 Subject: [PATCH] only run tests using multiline strings with multiline text control; document that using multiline strings doesn't work with singleline controls git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60138 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- interface/wx/textctrl.h | 4 +++- tests/controls/textctrltest.cpp | 27 +++++++++++++++++++++++++++ tests/controls/textentrytest.cpp | 4 ++-- 3 files changed, 32 insertions(+), 3 deletions(-) diff --git a/interface/wx/textctrl.h b/interface/wx/textctrl.h index c4a470e1d8..a8178169ea 100644 --- a/interface/wx/textctrl.h +++ b/interface/wx/textctrl.h @@ -863,7 +863,9 @@ public: instead. For the control created with this style, you can still use Ctrl-Enter to pass to the next control from the keyboard. @style{wxTE_MULTILINE} - The text control allows multiple lines. + The text control allows multiple lines. If this style is not + specified, line break characters should not be used in the controls + value. @style{wxTE_PASSWORD} The text will be echoed as asterisks. @style{wxTE_READONLY} diff --git a/tests/controls/textctrltest.cpp b/tests/controls/textctrltest.cpp index afc923afa7..5f2cc77f4e 100644 --- a/tests/controls/textctrltest.cpp +++ b/tests/controls/textctrltest.cpp @@ -42,8 +42,11 @@ private: CPPUNIT_TEST_SUITE( TextCtrlTestCase ); wxTEXT_ENTRY_TESTS(); + CPPUNIT_TEST( MultiLineReplace ); CPPUNIT_TEST_SUITE_END(); + void MultiLineReplace(); + wxTextCtrl *m_text; DECLARE_NO_COPY_CLASS(TextCtrlTestCase) @@ -74,3 +77,27 @@ void TextCtrlTestCase::tearDown() // tests themselves // ---------------------------------------------------------------------------- +void TextCtrlTestCase::MultiLineReplace() +{ + // we need a multiline control for this test so recreate it + delete m_text; + m_text = new wxTextCtrl(wxTheApp->GetTopWindow(), wxID_ANY, "", + wxDefaultPosition, wxDefaultSize, + wxTE_MULTILINE); + + m_text->SetValue("Hello replace\n" + "0123456789012"); + m_text->SetInsertionPoint(0); + + m_text->Replace(6, 13, "changed"); + + CPPUNIT_ASSERT_EQUAL("Hello changed\n" + "0123456789012", + m_text->GetValue()); + CPPUNIT_ASSERT_EQUAL(13, m_text->GetInsertionPoint()); + + m_text->Replace(13, -1, ""); + CPPUNIT_ASSERT_EQUAL("Hello changed", m_text->GetValue()); + CPPUNIT_ASSERT_EQUAL(13, m_text->GetInsertionPoint()); +} + diff --git a/tests/controls/textentrytest.cpp b/tests/controls/textentrytest.cpp index 70cc1f77ba..fcd911cf8c 100644 --- a/tests/controls/textentrytest.cpp +++ b/tests/controls/textentrytest.cpp @@ -174,13 +174,13 @@ void TextEntryTestCase::Replace() { wxTextEntry * const entry = GetTestEntry(); - entry->SetValue("Hello replace\n" + entry->SetValue("Hello replace!" "0123456789012"); entry->SetInsertionPoint(0); entry->Replace(6, 13, "changed"); - CPPUNIT_ASSERT_EQUAL("Hello changed\n" + CPPUNIT_ASSERT_EQUAL("Hello changed!" "0123456789012", entry->GetValue()); CPPUNIT_ASSERT_EQUAL(13, entry->GetInsertionPoint()); -- 2.45.2