1e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott#include <string> 2e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott#if !defined (STLPORT) || !defined (_STLP_USE_NO_IOSTREAMS) 3e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott# include <iosfwd> 4e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 5e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott# include "cppunit/cppunit_proxy.h" 6e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott# include <locale> 7e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 8e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scottstruct ref_monetary; 9e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scottstruct ref_locale; 10e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 11e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott# if !defined (STLPORT) || defined (_STLP_USE_NAMESPACES) 12e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott# define STD std:: 13e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott# else 14e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott# define STD 15e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott# endif 16e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 17e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott// 18e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott// TestCase class 19e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott// 20e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scottclass LocaleTest : public CPPUNIT_NS::TestCase 21e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott{ 22e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott CPPUNIT_TEST_SUITE(LocaleTest); 23e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott# if defined (STLPORT) && !defined (_STLP_USE_EXCEPTIONS) 24e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott CPPUNIT_IGNORE; 25e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott# endif 26e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott CPPUNIT_TEST(locale_by_name); 27e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott CPPUNIT_TEST(moneypunct_by_name); 28e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott CPPUNIT_TEST(time_by_name); 29e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott CPPUNIT_TEST(numpunct_by_name); 30e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott CPPUNIT_TEST(ctype_by_name); 31e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott CPPUNIT_TEST(collate_by_name); 32e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott CPPUNIT_TEST(messages_by_name); 33e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott CPPUNIT_STOP_IGNORE; 34e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott CPPUNIT_TEST(loc_has_facet); 35e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott CPPUNIT_TEST(num_put_get); 36e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott CPPUNIT_TEST(money_put_get); 37e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott CPPUNIT_TEST(money_put_X_bug); 38e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott CPPUNIT_TEST(time_put_get); 39e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott CPPUNIT_TEST(collate_facet); 40e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott CPPUNIT_TEST(ctype_facet); 41e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott# if defined (STLPORT) && defined (_STLP_NO_MEMBER_TEMPLATES) 42e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott CPPUNIT_IGNORE; 43e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott# endif 44e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott CPPUNIT_TEST(locale_init_problem); 45e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott CPPUNIT_STOP_IGNORE; 46e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott CPPUNIT_TEST(default_locale); 47e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott# if !defined (STLPORT) 48e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott CPPUNIT_IGNORE; 49e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott# endif 50e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott CPPUNIT_STOP_IGNORE; 51e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott#if (defined (STLPORT) && \ 52e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott (!defined (_STLP_USE_EXCEPTIONS) || defined (_STLP_NO_MEMBER_TEMPLATES) || defined (_STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS))) 53e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott CPPUNIT_IGNORE; 54e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott# endif 55e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott CPPUNIT_TEST(combine); 56e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott CPPUNIT_TEST_SUITE_END(); 57e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 58e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scottpublic: 59e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott void locale_by_name(); 60e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott void loc_has_facet(); 61e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott void num_put_get(); 62e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott void numpunct_by_name(); 63e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott void time_put_get(); 64e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott void time_by_name(); 65e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott void collate_facet(); 66e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott void collate_by_name(); 67e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott void ctype_facet(); 68e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott void ctype_by_name(); 69e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott void locale_init_problem(); 70e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott void money_put_get(); 71e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott void money_put_X_bug(); 72e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott void moneypunct_by_name(); 73e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott void default_locale(); 74e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott void combine(); 75e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott void messages_by_name(); 76e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scottprivate: 77e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott void _loc_has_facet( const STD locale& ); 78e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott void _num_put_get( const STD locale&, const ref_locale* ); 79e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott void _time_put_get( const STD locale& ); 80e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott void _ctype_facet( const STD locale& ); 81e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott void _ctype_facet_w( const STD locale& ); 82e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott void _locale_init_problem( const STD locale& ); 83e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 84e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott static const ref_monetary* _get_ref_monetary(size_t); 85e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott static const char* _get_ref_monetary_name(const ref_monetary*); 86e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 87e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott void _money_put_get( const STD locale&, const ref_monetary* ); 88e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott void _money_put_get2( const STD locale& loc, const STD locale& streamLoc, const ref_monetary* ); 89e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott void _money_put_X_bug( const STD locale&, const ref_monetary* ); 90e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott}; 91e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 92e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott# undef STD 93e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott#endif 94e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 95