]> git.saurik.com Git - wxWidgets.git/blob - tests/fontmap/fontmaptest.cpp
Don't access null tip_window pointer [ 1767485 ] wxGtk uses private API, breaks with...
[wxWidgets.git] / tests / fontmap / fontmaptest.cpp
1 ///////////////////////////////////////////////////////////////////////////////
2 // Name: tests/fontmap/fontmap.cpp
3 // Purpose: wxFontMapper unit test
4 // Author: Vadim Zeitlin
5 // Created: 14.02.04
6 // RCS-ID: $Id$
7 // Copyright: (c) 2003 TT-Solutions
8 // Licence: wxWindows licence
9 ///////////////////////////////////////////////////////////////////////////////
10
11 // ----------------------------------------------------------------------------
12 // headers
13 // ----------------------------------------------------------------------------
14
15 #include "testprec.h"
16
17 #ifdef __BORLANDC__
18 #pragma hdrstop
19 #endif
20
21 #ifndef WX_PRECOMP
22 #include "wx/wx.h"
23 #endif // WX_PRECOMP
24
25 #if wxUSE_FONTMAP
26
27 #include "wx/fontmap.h"
28
29 // ----------------------------------------------------------------------------
30 // test class
31 // ----------------------------------------------------------------------------
32
33 class FontMapperTestCase : public CppUnit::TestCase
34 {
35 public:
36 FontMapperTestCase() { }
37
38 private:
39 CPPUNIT_TEST_SUITE( FontMapperTestCase );
40 CPPUNIT_TEST( NamesAndDesc );
41 CPPUNIT_TEST_SUITE_END();
42
43 void NamesAndDesc();
44
45 DECLARE_NO_COPY_CLASS(FontMapperTestCase)
46 };
47
48 // register in the unnamed registry so that these tests are run by default
49 CPPUNIT_TEST_SUITE_REGISTRATION( FontMapperTestCase );
50
51 // also include in it's own registry so that these tests can be run alone
52 CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( FontMapperTestCase, "FontMapperTestCase" );
53
54
55 void FontMapperTestCase::NamesAndDesc()
56 {
57 static const wxChar *charsets[] =
58 {
59 // some valid charsets
60 _T("us-ascii" ),
61 _T("iso8859-1" ),
62 _T("iso-8859-12" ),
63 _T("koi8-r" ),
64 _T("utf-7" ),
65 _T("cp1250" ),
66 _T("windows-1252"),
67
68 // and now some bogus ones
69 _T("" ),
70 _T("cp1249" ),
71 _T("iso--8859-1" ),
72 _T("iso-8859-19" ),
73 };
74
75 static const wxChar *names[] =
76 {
77 // some valid charsets
78 _T("default" ),
79 _T("iso-8859-1" ),
80 _T("iso-8859-12" ),
81 _T("koi8-r" ),
82 _T("utf-7" ),
83 _T("windows-1250"),
84 _T("windows-1252"),
85
86 // and now some bogus ones
87 _T("default" ),
88 _T("unknown--1" ),
89 _T("unknown--1" ),
90 _T("unknown--1" ),
91 };
92
93 static const wxChar *descriptions[] =
94 {
95 // some valid charsets
96 _T("Default encoding" ),
97 _T("Western European (ISO-8859-1)" ),
98 _T("Indian (ISO-8859-12)" ),
99 _T("KOI8-R" ),
100 _T("Unicode 7 bit (UTF-7)" ),
101 _T("Windows Central European (CP 1250)"),
102 _T("Windows Western European (CP 1252)"),
103
104 // and now some bogus ones
105 _T("Default encoding" ),
106 _T("Unknown encoding (-1)" ),
107 _T("Unknown encoding (-1)" ),
108 _T("Unknown encoding (-1)" ),
109 };
110
111 for ( size_t n = 0; n < WXSIZEOF(charsets); n++ )
112 {
113 wxFontEncoding enc = wxFontMapperBase::Get()->CharsetToEncoding(charsets[n]);
114 CPPUNIT_ASSERT( wxFontMapperBase::Get()->GetEncodingName(enc).CmpNoCase(names[n]) == 0 );
115 CPPUNIT_ASSERT( wxFontMapperBase::Get()->GetEncodingDescription(enc) == descriptions[n] );
116 }
117 }
118
119 #endif // wxUSE_FONTMAP