]>
git.saurik.com Git - wxWidgets.git/blob - tests/mbconv/main.cpp
1 ///////////////////////////////////////////////////////////////////////////////
2 // Name: tests/mbconv/main.cpp
3 // Purpose: wxMBConv unit test
4 // Author: Vadim Zeitlin
7 // Copyright: (c) 2003 TT-Solutions
8 ///////////////////////////////////////////////////////////////////////////////
10 // ----------------------------------------------------------------------------
12 // ----------------------------------------------------------------------------
15 #include "wx/strconv.h"
16 #include "wx/string.h"
18 #include "wx/cppunit.h"
20 // ----------------------------------------------------------------------------
22 // ----------------------------------------------------------------------------
24 class MBConvTestCase
: public CppUnit::TestCase
30 CPPUNIT_TEST_SUITE( MBConvTestCase
);
31 CPPUNIT_TEST( WC2CP1250
);
32 CPPUNIT_TEST_SUITE_END();
36 DECLARE_NO_COPY_CLASS(MBConvTestCase
);
39 // register in the unnamed registry so that these tests are run by default
40 CPPUNIT_TEST_SUITE_REGISTRATION( MBConvTestCase
);
42 // also include in it's own registry so that these tests can be run alone
43 CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( MBConvTestCase
, "MBConvTestCase" );
45 void MBConvTestCase::WC2CP1250()
47 static const struct Data
53 { L
"hello", "hello" }, // test that it works in simplest case
54 { L
"½ of ½ is ¼", NULL
}, // this should fail as cp1250 doesn't have 1/2
57 wxCSConv
cs1250(wxFONTENCODING_CP1250
);
58 for ( size_t n
= 0; n
< WXSIZEOF(data
); n
++ )
60 const Data
& d
= data
[n
];
63 CPPUNIT_ASSERT( strcmp(cs1250
.cWC2MB(d
.wc
), d
.cp1250
) == 0 );
67 CPPUNIT_ASSERT( (const char*)cs1250
.cWC2MB(d
.wc
) == NULL
);