CPPUNIT_ASSERT_EQUAL( "bye", entry->GetValue() );
}
-void TextEntryTestCase::TextChangeEvents()
+namespace
{
class TextTestEventHandler : public wxEvtHandler
{
private:
int m_events;
- } handler;
+ };
+}
+
+void TextEntryTestCase::TextChangeEvents()
+{
+ TextTestEventHandler handler;
GetTestWindow()->Connect
(
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();
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()
CPPUNIT_ASSERT_EQUAL( 1, entry->GetInsertionPoint() );
}
+void TextEntryTestCase::Replace()
+{
+ wxTextEntry * const entry = GetTestEntry();
+
+ entry->SetValue("Hello replace!"
+ "0123456789012");
+ entry->SetInsertionPoint(0);
+
+ entry->Replace(6, 13, "changed");
+
+ CPPUNIT_ASSERT_EQUAL("Hello changed!"
+ "0123456789012",
+ entry->GetValue());
+ CPPUNIT_ASSERT_EQUAL(13, entry->GetInsertionPoint());
+
+ entry->Replace(13, -1, "");
+ CPPUNIT_ASSERT_EQUAL("Hello changed", entry->GetValue());
+ CPPUNIT_ASSERT_EQUAL(13, entry->GetInsertionPoint());
+
+ entry->Replace(0, 6, "Un");
+ CPPUNIT_ASSERT_EQUAL("Unchanged", entry->GetValue());
+ CPPUNIT_ASSERT_EQUAL(2, entry->GetInsertionPoint());
+}
+