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}
CPPUNIT_TEST_SUITE( TextCtrlTestCase );
wxTEXT_ENTRY_TESTS();
+ CPPUNIT_TEST( MultiLineReplace );
CPPUNIT_TEST_SUITE_END();
+ void MultiLineReplace();
+
wxTextCtrl *m_text;
DECLARE_NO_COPY_CLASS(TextCtrlTestCase)
// 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());
+}
+
{
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());