From: Vadim Zeitlin Date: Mon, 29 Mar 2010 09:59:05 +0000 (+0000) Subject: Add wxBitmap unit test. X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/bd9532a4160ad01d35a8b5fe3f65fa2b7f79c04e Add wxBitmap unit test. This should have been part of r63774. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63778 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/tests/graphics/bitmap.cpp b/tests/graphics/bitmap.cpp new file mode 100644 index 0000000000..122e01ebb4 --- /dev/null +++ b/tests/graphics/bitmap.cpp @@ -0,0 +1,83 @@ +/////////////////////////////////////////////////////////////////////////////// +// Name: tests/graphics/bitmap.cpp +// Purpose: wxBitmap unit test +// Author: Vadim Zeitlin +// Created: 2010-03-29 +// RCS-ID: $Id$ +// Copyright: (c) 2010 Vadim Zeitlin +/////////////////////////////////////////////////////////////////////////////// + +// ---------------------------------------------------------------------------- +// headers +// ---------------------------------------------------------------------------- + +#include "testprec.h" + +#ifdef __BORLANDC__ + #pragma hdrstop +#endif + +#include "wx/bitmap.h" +#include "wx/dcmemory.h" + +// ---------------------------------------------------------------------------- +// test class +// ---------------------------------------------------------------------------- + +class BitmapTestCase : public CppUnit::TestCase +{ +public: + BitmapTestCase() { } + + virtual void setUp(); + virtual void tearDown(); + +private: + CPPUNIT_TEST_SUITE( BitmapTestCase ); + CPPUNIT_TEST( Mask ); + CPPUNIT_TEST_SUITE_END(); + + void Mask(); + + wxBitmap m_bmp; + + DECLARE_NO_COPY_CLASS(BitmapTestCase) +}; + +// register in the unnamed registry so that these tests are run by default +CPPUNIT_TEST_SUITE_REGISTRATION( BitmapTestCase ); + +// also include in it's own registry so that these tests can be run alone +CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( BitmapTestCase, "BitmapTestCase" ); + +void BitmapTestCase::setUp() +{ + m_bmp.Create(10, 10); + + wxMemoryDC dc(m_bmp);; + dc.SetBackground(*wxWHITE); + dc.Clear(); + + dc.SetBrush(*wxBLACK_BRUSH); + dc.DrawRectangle(4, 4, 2, 2); + + dc.SetPen(*wxRED_PEN); + dc.DrawLine(0, 0, 10, 10); + dc.DrawLine(10, 0, 0, 10); +} + +void BitmapTestCase::tearDown() +{ + m_bmp = wxNullBitmap; +} + +void BitmapTestCase::Mask() +{ + wxMask *mask = new wxMask(m_bmp, *wxBLACK); + m_bmp.SetMask(mask); + + // copying masks should work + wxMask *mask2 = new wxMask(*mask); + m_bmp.SetMask(mask2); +} +