117 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			117 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| ///////////////////////////////////////////////////////////////////////////////
 | |
| // Name:        tests/fontmap/fontmap.cpp
 | |
| // Purpose:     wxFontMapper unit test
 | |
| // Author:      Vadim Zeitlin
 | |
| // Created:     14.02.04
 | |
| // Copyright:   (c) 2003 TT-Solutions
 | |
| // Licence:     wxWindows licence
 | |
| ///////////////////////////////////////////////////////////////////////////////
 | |
| 
 | |
| // ----------------------------------------------------------------------------
 | |
| // headers
 | |
| // ----------------------------------------------------------------------------
 | |
| 
 | |
| #include "testprec.h"
 | |
| 
 | |
| 
 | |
| #ifndef WX_PRECOMP
 | |
|     #include "wx/wx.h"
 | |
| #endif // WX_PRECOMP
 | |
| 
 | |
| #if wxUSE_FONTMAP
 | |
| 
 | |
| #include "wx/fontmap.h"
 | |
| 
 | |
| // ----------------------------------------------------------------------------
 | |
| // test class
 | |
| // ----------------------------------------------------------------------------
 | |
| 
 | |
| class FontMapperTestCase : public CppUnit::TestCase
 | |
| {
 | |
| public:
 | |
|     FontMapperTestCase() { }
 | |
| 
 | |
| private:
 | |
|     CPPUNIT_TEST_SUITE( FontMapperTestCase );
 | |
|         CPPUNIT_TEST( NamesAndDesc );
 | |
|     CPPUNIT_TEST_SUITE_END();
 | |
| 
 | |
|     void NamesAndDesc();
 | |
| 
 | |
|     wxDECLARE_NO_COPY_CLASS(FontMapperTestCase);
 | |
| };
 | |
| 
 | |
| // register in the unnamed registry so that these tests are run by default
 | |
| CPPUNIT_TEST_SUITE_REGISTRATION( FontMapperTestCase );
 | |
| 
 | |
| // also include in its own registry so that these tests can be run alone
 | |
| CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( FontMapperTestCase, "FontMapperTestCase" );
 | |
| 
 | |
| 
 | |
| void FontMapperTestCase::NamesAndDesc()
 | |
| {
 | |
|     static const wxChar *charsets[] =
 | |
|     {
 | |
|         // some valid charsets
 | |
|         wxT("us-ascii"    ),
 | |
|         wxT("iso8859-1"   ),
 | |
|         wxT("iso-8859-12" ),
 | |
|         wxT("koi8-r"      ),
 | |
|         wxT("utf-7"       ),
 | |
|         wxT("cp1250"      ),
 | |
|         wxT("windows-1252"),
 | |
| 
 | |
|         // and now some bogus ones
 | |
|         wxT(""            ),
 | |
|         wxT("cp1249"      ),
 | |
|         wxT("iso--8859-1" ),
 | |
|         wxT("iso-8859-19" ),
 | |
|     };
 | |
| 
 | |
|     static const wxChar *names[] =
 | |
|     {
 | |
|         // some valid charsets
 | |
|         wxT("default"     ),
 | |
|         wxT("iso-8859-1"  ),
 | |
|         wxT("iso-8859-12" ),
 | |
|         wxT("koi8-r"      ),
 | |
|         wxT("utf-7"       ),
 | |
|         wxT("windows-1250"),
 | |
|         wxT("windows-1252"),
 | |
| 
 | |
|         // and now some bogus ones
 | |
|         wxT("default"     ),
 | |
|         wxT("unknown--1"  ),
 | |
|         wxT("unknown--1"  ),
 | |
|         wxT("unknown--1"  ),
 | |
|     };
 | |
| 
 | |
|     static const wxChar *descriptions[] =
 | |
|     {
 | |
|         // some valid charsets
 | |
|         wxT("Default encoding"                  ),
 | |
|         wxT("Western European (ISO-8859-1)"     ),
 | |
|         wxT("Indian (ISO-8859-12)"              ),
 | |
|         wxT("KOI8-R"                            ),
 | |
|         wxT("Unicode 7 bit (UTF-7)"             ),
 | |
|         wxT("Windows Central European (CP 1250)"),
 | |
|         wxT("Windows Western European (CP 1252)"),
 | |
| 
 | |
|         // and now some bogus ones
 | |
|         wxT("Default encoding"                  ),
 | |
|         wxT("Unknown encoding (-1)"             ),
 | |
|         wxT("Unknown encoding (-1)"             ),
 | |
|         wxT("Unknown encoding (-1)"             ),
 | |
|     };
 | |
| 
 | |
|     wxFontMapperBase& fmap = *wxFontMapperBase::Get();
 | |
|     for ( size_t n = 0; n < WXSIZEOF(charsets); n++ )
 | |
|     {
 | |
|         wxFontEncoding enc = fmap.CharsetToEncoding(charsets[n]);
 | |
|         CPPUNIT_ASSERT_EQUAL( names[n], fmap.GetEncodingName(enc).Lower() );
 | |
|         CPPUNIT_ASSERT_EQUAL( descriptions[n], fmap.GetEncodingDescription(enc) );
 | |
|     }
 | |
| }
 | |
| 
 | |
| #endif // wxUSE_FONTMAP
 |