81 lines
1.7 KiB
C++
81 lines
1.7 KiB
C++
///////////////////////////////////////////////////////////////////////////////
|
|
// Name: tests/controls/frametest.cpp
|
|
// Purpose: wxFrame unit test
|
|
// Author: Steven Lamerton
|
|
// Created: 2010-07-10
|
|
// Copyright: (c) 2010 Steven Lamerton
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
#include "testprec.h"
|
|
|
|
#ifdef __BORLANDC__
|
|
#pragma hdrstop
|
|
#endif
|
|
|
|
#ifndef WX_PRECOMP
|
|
#include "wx/app.h"
|
|
#include "wx/frame.h"
|
|
#endif // WX_PRECOMP
|
|
|
|
#include "testableframe.h"
|
|
|
|
class FrameTestCase : public CppUnit::TestCase
|
|
{
|
|
public:
|
|
FrameTestCase() { }
|
|
|
|
void setUp();
|
|
void tearDown();
|
|
|
|
private:
|
|
CPPUNIT_TEST_SUITE( FrameTestCase );
|
|
CPPUNIT_TEST( Iconize );
|
|
CPPUNIT_TEST( Close );
|
|
CPPUNIT_TEST_SUITE_END();
|
|
|
|
void Iconize();
|
|
void Close();
|
|
|
|
wxFrame *m_frame;
|
|
|
|
DECLARE_NO_COPY_CLASS(FrameTestCase)
|
|
};
|
|
|
|
// register in the unnamed registry so that these tests are run by default
|
|
CPPUNIT_TEST_SUITE_REGISTRATION( FrameTestCase );
|
|
|
|
// also include in its own registry so that these tests can be run alone
|
|
CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( FrameTestCase, "FrameTestCase" );
|
|
|
|
void FrameTestCase::setUp()
|
|
{
|
|
m_frame = new wxFrame(NULL, wxID_ANY, "test frame");
|
|
m_frame->Show();
|
|
}
|
|
|
|
void FrameTestCase::tearDown()
|
|
{
|
|
m_frame->Destroy();
|
|
}
|
|
|
|
void FrameTestCase::Iconize()
|
|
{
|
|
#ifdef __WXMSW__
|
|
EventCounter iconize(m_frame, wxEVT_ICONIZE);
|
|
|
|
m_frame->Iconize();
|
|
m_frame->Iconize(false);
|
|
|
|
CPPUNIT_ASSERT_EQUAL(2, iconize.GetCount());
|
|
#endif
|
|
}
|
|
|
|
void FrameTestCase::Close()
|
|
{
|
|
EventCounter close(m_frame, wxEVT_CLOSE_WINDOW);
|
|
|
|
m_frame->Close();
|
|
|
|
CPPUNIT_ASSERT_EQUAL(1, close.GetCount());
|
|
}
|