X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/571d991bb3232f0dcd3319dbdc9d35e5c80f4c71..232fdc630c42eb165f7659981043e794be03b3b7:/tests/controls/notebooktest.cpp diff --git a/tests/controls/notebooktest.cpp b/tests/controls/notebooktest.cpp new file mode 100644 index 0000000000..c7c3fad381 --- /dev/null +++ b/tests/controls/notebooktest.cpp @@ -0,0 +1,94 @@ +/////////////////////////////////////////////////////////////////////////////// +// Name: tests/controls/notebooktest.cpp +// Purpose: wxNotebook unit test +// Author: Steven Lamerton +// Created: 2010-07-02 +// RCS-ID: $Id$ +// Copyright: (c) 2010 Steven Lamerton +/////////////////////////////////////////////////////////////////////////////// + +#include "testprec.h" + +#if wxUSE_NOTEBOOK + +#ifdef __BORLANDC__ + #pragma hdrstop +#endif + +#ifndef WX_PRECOMP + #include "wx/app.h" + #include "wx/panel.h" +#endif // WX_PRECOMP + +#include "wx/notebook.h" +#include "bookctrlbasetest.h" + +class NotebookTestCase : public BookCtrlBaseTestCase, public CppUnit::TestCase +{ +public: + NotebookTestCase() { } + + virtual void setUp(); + virtual void tearDown(); + +private: + virtual wxBookCtrlBase *GetBase() const { return m_notebook; } + + virtual wxEventType GetChangedEvent() const + { return wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED; } + + virtual wxEventType GetChangingEvent() const + { return wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGING; } + + + CPPUNIT_TEST_SUITE( NotebookTestCase ); + wxBOOK_CTRL_BASE_TESTS(); + CPPUNIT_TEST( Image ); + CPPUNIT_TEST( RowCount ); + CPPUNIT_TEST_SUITE_END(); + + void RowCount(); + + wxNotebook *m_notebook; + + DECLARE_NO_COPY_CLASS(NotebookTestCase) +}; + +// register in the unnamed registry so that these tests are run by default +CPPUNIT_TEST_SUITE_REGISTRATION( NotebookTestCase ); + +// also include in it's own registry so that these tests can be run alone +CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( NotebookTestCase, "NotebookTestCase" ); + +void NotebookTestCase::setUp() +{ + m_notebook = new wxNotebook(wxTheApp->GetTopWindow(), wxID_ANY, + wxDefaultPosition, wxSize(400, 200)); + AddPanels(); +} + +void NotebookTestCase::tearDown() +{ + wxDELETE(m_notebook); +} + +void NotebookTestCase::RowCount() +{ + CPPUNIT_ASSERT_EQUAL(1, m_notebook->GetRowCount()); + +#ifdef __WXMSW__ + wxDELETE(m_notebook); + m_notebook = new wxNotebook(wxTheApp->GetTopWindow(), wxID_ANY, + wxDefaultPosition, wxSize(400, 200), + wxNB_MULTILINE); + + for( unsigned int i = 0; i < 10; i++ ) + { + m_notebook->AddPage(new wxPanel(m_notebook), "Panel", false, 0); + } + + CPPUNIT_ASSERT( m_notebook->GetRowCount() != 1 ); +#endif +} + +#endif //wxUSE_NOTEBOOK