From 88f808e303c1649a4ffdeb7044b1a5dd96e6e1d3 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Thu, 1 Oct 2020 02:28:42 +0200 Subject: [PATCH] Add a unit test for wxCaret::Create() Verify that constructing wxCaret using its default ctor and Create() works too, now that it does -- previously it uses to result in a GTK warning and a crash in wxGTK. --- tests/controls/windowtest.cpp | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/tests/controls/windowtest.cpp b/tests/controls/windowtest.cpp index 372317e67b..cfcc4a0f6d 100644 --- a/tests/controls/windowtest.cpp +++ b/tests/controls/windowtest.cpp @@ -136,10 +136,22 @@ TEST_CASE_METHOD(WindowTestCase, "Window::Mouse", "[window]") CHECK(m_window->GetCursor().IsOk()); #if wxUSE_CARET - //A plain window doesn't have a caret CHECK(!m_window->GetCaret()); - wxCaret* caret = new wxCaret(m_window, 16, 16); + wxCaret* caret; + + // Try creating the caret in two different, but normally equivalent, ways. + SECTION("Caret 1-step") + { + caret = new wxCaret(m_window, 16, 16); + } + + SECTION("Caret 2-step") + { + caret = new wxCaret(); + caret->Create(m_window, 16, 16); + } + m_window->SetCaret(caret); CHECK(m_window->GetCaret()->IsOk());