X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/7f8f381c0f1380986acc18e30d4b95a2571fdd7c..c39058f631b3a53682f00807a60bfff6c5aa2b7c:/tests/html/htmlwindow.cpp diff --git a/tests/html/htmlwindow.cpp b/tests/html/htmlwindow.cpp new file mode 100644 index 0000000000..936954fe0c --- /dev/null +++ b/tests/html/htmlwindow.cpp @@ -0,0 +1,91 @@ +/////////////////////////////////////////////////////////////////////////////// +// Name: tests/html/htmlwindow.cpp +// Purpose: wxHtmlWindow tests +// Author: Vaclav Slavik +// Created: 2008-10-15 +// RCS-ID: $Id$ +// Copyright: (c) 2008 Vaclav Slavik +/////////////////////////////////////////////////////////////////////////////// + +// ---------------------------------------------------------------------------- +// headers +// ---------------------------------------------------------------------------- + +#include "testprec.h" + +#ifdef __BORLANDC__ + #pragma hdrstop +#endif + +#ifndef WX_PRECOMP + #include "wx/app.h" +#endif // WX_PRECOMP + +#include "wx/html/htmlwin.h" + +// ---------------------------------------------------------------------------- +// test class +// ---------------------------------------------------------------------------- + +class HtmlWindowTestCase : public CppUnit::TestCase +{ +public: + HtmlWindowTestCase() { } + + virtual void setUp(); + virtual void tearDown(); + +private: + CPPUNIT_TEST_SUITE( HtmlWindowTestCase ); + CPPUNIT_TEST( SelectionToText ); + CPPUNIT_TEST_SUITE_END(); + + void SelectionToText(); + + wxHtmlWindow *m_win; + + DECLARE_NO_COPY_CLASS(HtmlWindowTestCase) +}; + +// register in the unnamed registry so that these tests are run by default +CPPUNIT_TEST_SUITE_REGISTRATION( HtmlWindowTestCase ); + +// also include in it's own registry so that these tests can be run alone +CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( HtmlWindowTestCase, "HtmlWindowTestCase" ); + +// ---------------------------------------------------------------------------- +// test initialization +// ---------------------------------------------------------------------------- + +void HtmlWindowTestCase::setUp() +{ + m_win = new wxHtmlWindow(wxTheApp->GetTopWindow(), wxID_ANY); +} + +void HtmlWindowTestCase::tearDown() +{ + m_win->Destroy(); + m_win = NULL; +} + +// ---------------------------------------------------------------------------- +// tests themselves +// ---------------------------------------------------------------------------- + +static const char *TEST_MARKUP = + "" + " Title

" + " A longer line
" + " and the last line." + ""; + +static const char *TEST_PLAIN_TEXT = + "Title\nA longer line\nand the last line."; + +void HtmlWindowTestCase::SelectionToText() +{ + m_win->SetPage(TEST_MARKUP); + m_win->SelectAll(); + + CPPUNIT_ASSERT_EQUAL( TEST_PLAIN_TEXT, m_win->SelectionToText() ); +}