Change {DECLARE,IMPLEMENT}_*CLASS and {DECLARE,BEGIN,END}_EVENT_TABLE
occurrences to use the wx-prefixed version of the macros.
		
	
		
			
				
	
	
		
			171 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			171 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
///////////////////////////////////////////////////////////////////////////////
 | 
						|
// Name:        tests/misc/settings.cpp
 | 
						|
// Purpose:     test wxSettings
 | 
						|
// Author:      Francesco Montorsi
 | 
						|
// Created:     2009-03-24
 | 
						|
// Copyright:   (c) 2009 Francesco Montorsi
 | 
						|
///////////////////////////////////////////////////////////////////////////////
 | 
						|
 | 
						|
// ----------------------------------------------------------------------------
 | 
						|
// headers
 | 
						|
// ----------------------------------------------------------------------------
 | 
						|
 | 
						|
#include "testprec.h"
 | 
						|
 | 
						|
#ifdef __BORLANDC__
 | 
						|
    #pragma hdrstop
 | 
						|
#endif
 | 
						|
 | 
						|
#include "wx/settings.h"
 | 
						|
#include "wx/fontenum.h"
 | 
						|
#include "wx/brush.h"
 | 
						|
#include "wx/pen.h"
 | 
						|
 | 
						|
// ----------------------------------------------------------------------------
 | 
						|
// test class
 | 
						|
// ----------------------------------------------------------------------------
 | 
						|
 | 
						|
class SettingsTestCase : public CppUnit::TestCase
 | 
						|
{
 | 
						|
public:
 | 
						|
    SettingsTestCase() { }
 | 
						|
 | 
						|
private:
 | 
						|
    CPPUNIT_TEST_SUITE( SettingsTestCase );
 | 
						|
        CPPUNIT_TEST( GetColour );
 | 
						|
        CPPUNIT_TEST( GetFont );
 | 
						|
        CPPUNIT_TEST( GlobalColours );
 | 
						|
        CPPUNIT_TEST( GlobalFonts );
 | 
						|
        CPPUNIT_TEST( GlobalBrushes );
 | 
						|
        CPPUNIT_TEST( GlobalPens );
 | 
						|
    CPPUNIT_TEST_SUITE_END();
 | 
						|
 | 
						|
    void GetColour();
 | 
						|
    void GetFont();
 | 
						|
    
 | 
						|
    // not really wxSystemSettings stuff but still nice to test:
 | 
						|
    void GlobalColours();
 | 
						|
    void GlobalFonts();
 | 
						|
    void GlobalBrushes();
 | 
						|
    void GlobalPens();
 | 
						|
 | 
						|
    wxDECLARE_NO_COPY_CLASS(SettingsTestCase);
 | 
						|
};
 | 
						|
 | 
						|
// register in the unnamed registry so that these tests are run by default
 | 
						|
CPPUNIT_TEST_SUITE_REGISTRATION( SettingsTestCase );
 | 
						|
 | 
						|
// also include in its own registry so that these tests can be run alone
 | 
						|
CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( SettingsTestCase, "SettingsTestCase" );
 | 
						|
 | 
						|
 | 
						|
void SettingsTestCase::GetColour()
 | 
						|
{
 | 
						|
    for (unsigned int i=wxSYS_COLOUR_SCROLLBAR; i < wxSYS_COLOUR_MAX; i++)
 | 
						|
        CPPUNIT_ASSERT( wxSystemSettings::GetColour((wxSystemColour)i).IsOk() );
 | 
						|
}
 | 
						|
 | 
						|
void SettingsTestCase::GetFont()
 | 
						|
{
 | 
						|
    const wxSystemFont ids[] = 
 | 
						|
    {
 | 
						|
        wxSYS_OEM_FIXED_FONT,
 | 
						|
        wxSYS_ANSI_FIXED_FONT,
 | 
						|
        wxSYS_ANSI_VAR_FONT,
 | 
						|
        wxSYS_SYSTEM_FONT,
 | 
						|
        wxSYS_DEVICE_DEFAULT_FONT,
 | 
						|
        wxSYS_SYSTEM_FIXED_FONT,
 | 
						|
        wxSYS_DEFAULT_GUI_FONT
 | 
						|
    };
 | 
						|
 | 
						|
    for (unsigned int i=0; i < WXSIZEOF(ids); i++)
 | 
						|
    {
 | 
						|
        const wxFont& font = wxSystemSettings::GetFont(ids[i]);
 | 
						|
        CPPUNIT_ASSERT( font.IsOk() && 
 | 
						|
                        wxFontEnumerator::IsValidFacename(font.GetFaceName()) );
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
void SettingsTestCase::GlobalColours()
 | 
						|
{
 | 
						|
    wxColour col[] =
 | 
						|
    {
 | 
						|
        *wxBLACK,
 | 
						|
        *wxBLUE,
 | 
						|
        *wxCYAN,
 | 
						|
        *wxGREEN,
 | 
						|
        *wxLIGHT_GREY,
 | 
						|
        *wxRED,
 | 
						|
        *wxWHITE
 | 
						|
    };
 | 
						|
 | 
						|
    for (unsigned int i=0; i < WXSIZEOF(col); i++)
 | 
						|
        CPPUNIT_ASSERT( col[i].IsOk() );
 | 
						|
}
 | 
						|
 | 
						|
void SettingsTestCase::GlobalFonts()
 | 
						|
{
 | 
						|
    const wxFont font[] =
 | 
						|
    {
 | 
						|
        *wxNORMAL_FONT,
 | 
						|
        *wxSMALL_FONT,
 | 
						|
        *wxITALIC_FONT,
 | 
						|
        *wxSWISS_FONT
 | 
						|
    };
 | 
						|
 | 
						|
    for (unsigned int i=0; i < WXSIZEOF(font); i++)
 | 
						|
    {
 | 
						|
        CPPUNIT_ASSERT( font[i].IsOk() );
 | 
						|
 | 
						|
        const wxString facename = font[i].GetFaceName();
 | 
						|
        if ( !facename.empty() )
 | 
						|
        {
 | 
						|
            WX_ASSERT_MESSAGE(
 | 
						|
                ("font #%u: facename \"%s\" is invalid", i, facename),
 | 
						|
                wxFontEnumerator::IsValidFacename(facename)
 | 
						|
            );
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
void SettingsTestCase::GlobalBrushes()
 | 
						|
{
 | 
						|
    wxBrush brush[] =
 | 
						|
    {
 | 
						|
        *wxBLACK_BRUSH,
 | 
						|
        *wxBLUE_BRUSH,
 | 
						|
        *wxCYAN_BRUSH,
 | 
						|
        *wxGREEN_BRUSH,
 | 
						|
        *wxGREY_BRUSH,
 | 
						|
        *wxLIGHT_GREY_BRUSH,
 | 
						|
        *wxMEDIUM_GREY_BRUSH,
 | 
						|
        *wxRED_BRUSH,
 | 
						|
        *wxTRANSPARENT_BRUSH,
 | 
						|
        *wxWHITE_BRUSH
 | 
						|
    };
 | 
						|
 | 
						|
    for (unsigned int i=0; i < WXSIZEOF(brush); i++)
 | 
						|
        CPPUNIT_ASSERT( brush[i].IsOk() );
 | 
						|
}
 | 
						|
 | 
						|
void SettingsTestCase::GlobalPens()
 | 
						|
{
 | 
						|
    wxPen pen[] =
 | 
						|
    {
 | 
						|
        *wxBLACK_DASHED_PEN,
 | 
						|
        *wxBLACK_PEN,
 | 
						|
        *wxBLUE_PEN,
 | 
						|
        *wxCYAN_PEN,
 | 
						|
        *wxGREEN_PEN,
 | 
						|
        *wxGREY_PEN,
 | 
						|
        *wxLIGHT_GREY_PEN,
 | 
						|
        *wxMEDIUM_GREY_PEN,
 | 
						|
        *wxRED_PEN,
 | 
						|
        *wxTRANSPARENT_PEN,
 | 
						|
        *wxWHITE_PEN
 | 
						|
    };
 | 
						|
 | 
						|
    for (unsigned int i=0; i < WXSIZEOF(pen); i++)
 | 
						|
        CPPUNIT_ASSERT( pen[i].IsOk() );
 | 
						|
}
 |