void TextEntryTestCase::TextChangeEvents()
{
- wxTestableFrame* frame = wxStaticCast(wxTheApp->GetTopWindow(),
- wxTestableFrame);
-
- EventCounter count(GetTestWindow(), wxEVT_COMMAND_TEXT_UPDATED);
+ EventCounter updated(GetTestWindow(), wxEVT_TEXT);
wxTextEntry * const entry = GetTestEntry();
// notice that SetValue() generates an event even if the text didn't change
entry->SetValue("");
- CPPUNIT_ASSERT_EQUAL( 1, frame->GetEventCount() );
+ CPPUNIT_ASSERT_EQUAL( 1, updated.GetCount() );
+ updated.Clear();
entry->SetValue("foo");
- CPPUNIT_ASSERT_EQUAL( 1, frame->GetEventCount() );
+ CPPUNIT_ASSERT_EQUAL( 1, updated.GetCount() );
+ updated.Clear();
entry->SetValue("foo");
- CPPUNIT_ASSERT_EQUAL( 1, frame->GetEventCount() );
+ CPPUNIT_ASSERT_EQUAL( 1, updated.GetCount() );
+ updated.Clear();
entry->ChangeValue("bar");
- CPPUNIT_ASSERT_EQUAL( 0, frame->GetEventCount() );
+ CPPUNIT_ASSERT_EQUAL( 0, updated.GetCount() );
entry->AppendText("bar");
- CPPUNIT_ASSERT_EQUAL( 1, frame->GetEventCount() );
+ CPPUNIT_ASSERT_EQUAL( 1, updated.GetCount() );
+ updated.Clear();
entry->Replace(3, 6, "baz");
- CPPUNIT_ASSERT_EQUAL( 1, frame->GetEventCount() );
+ CPPUNIT_ASSERT_EQUAL( 1, updated.GetCount() );
+ updated.Clear();
entry->Remove(0, 3);
- CPPUNIT_ASSERT_EQUAL( 1, frame->GetEventCount() );
+ CPPUNIT_ASSERT_EQUAL( 1, updated.GetCount() );
+ updated.Clear();
entry->WriteText("foo");
- CPPUNIT_ASSERT_EQUAL( 1, frame->GetEventCount() );
+ CPPUNIT_ASSERT_EQUAL( 1, updated.GetCount() );
+ updated.Clear();
entry->Clear();
- CPPUNIT_ASSERT_EQUAL( 1, frame->GetEventCount() );
+ CPPUNIT_ASSERT_EQUAL( 1, updated.GetCount() );
+ updated.Clear();
}
void TextEntryTestCase::CheckStringSelection(const char *sel)
entry->WriteText("-"); // should move it after the written text
CPPUNIT_ASSERT_EQUAL( 4, entry->GetLastPosition() );
CPPUNIT_ASSERT_EQUAL( 1, entry->GetInsertionPoint() );
+
+ entry->SetValue("something different"); // should still reset the caret
+ CPPUNIT_ASSERT_EQUAL( 0, entry->GetInsertionPoint() );
}
void TextEntryTestCase::Replace()
void TextEntryTestCase::Editable()
{
#if wxUSE_UIACTIONSIMULATOR
- wxTestableFrame* frame = wxStaticCast(wxTheApp->GetTopWindow(),
- wxTestableFrame);
-
wxTextEntry * const entry = GetTestEntry();
wxWindow * const window = GetTestWindow();
- EventCounter count(window, wxEVT_COMMAND_TEXT_UPDATED);
+ EventCounter updated(window, wxEVT_TEXT);
window->SetFocus();
wxYield();
wxYield();
CPPUNIT_ASSERT_EQUAL("abcdef", entry->GetValue());
- CPPUNIT_ASSERT_EQUAL(6, frame->GetEventCount());
+ CPPUNIT_ASSERT_EQUAL(6, updated.GetCount());
+
+ updated.Clear();
entry->SetEditable(false);
sim.Text("gh");
wxYield();
CPPUNIT_ASSERT_EQUAL("abcdef", entry->GetValue());
- CPPUNIT_ASSERT_EQUAL(0, frame->GetEventCount());
+ CPPUNIT_ASSERT_EQUAL(0, updated.GetCount());
#endif
}