make sure that wxSystemSettings::GetFont/GetColour return values are always valid
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59820 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
159
tests/misc/settings.cpp
Normal file
159
tests/misc/settings.cpp
Normal file
@@ -0,0 +1,159 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Name: tests/misc/settings.cpp
|
||||
// Purpose: test wxSettings
|
||||
// Author: Francesco Montorsi
|
||||
// Created: 2009-03-24
|
||||
// RCS-ID: $Id$
|
||||
// Copyright: (c) 2009 Francesco Montorsi
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// headers
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
#include "testprec.h"
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
#pragma hdrstop
|
||||
#endif
|
||||
|
||||
#include "wx/settings.h"
|
||||
#include "wx/fontenum.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();
|
||||
|
||||
DECLARE_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 it's 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()
|
||||
{
|
||||
wxFont font[] =
|
||||
{
|
||||
*wxNORMAL_FONT,
|
||||
*wxSMALL_FONT,
|
||||
*wxITALIC_FONT,
|
||||
*wxSWISS_FONT
|
||||
};
|
||||
|
||||
for (unsigned int i=0; i < WXSIZEOF(font); i++)
|
||||
CPPUNIT_ASSERT( font[i].IsOk() &&
|
||||
wxFontEnumerator::IsValidFacename(font[i].GetFaceName()) );
|
||||
}
|
||||
|
||||
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() );
|
||||
}
|
Reference in New Issue
Block a user