1e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott#include "locale_test.h" 2e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 3e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott#if !defined (STLPORT) || !defined (_STLP_USE_NO_IOSTREAMS) 4e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott# include <locale> 5e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott# include <stdexcept> 6e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 7e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott# if !defined (STLPORT) || defined(_STLP_USE_NAMESPACES) 8e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scottusing namespace std; 9e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott# endif 10e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 11e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott// 12e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott// tests implementation 13e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott// 14e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scottvoid LocaleTest::messages_by_name() 15e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott{ 16e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott /* 17e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott * Check of the 22.1.1.2.7 standard point. Construction of a locale 18e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott * instance from a null pointer or an unknown name should result in 19e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott * a runtime_error exception. 20e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott */ 21e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott# if !defined (STLPORT) || defined (_STLP_USE_EXCEPTIONS) 22e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott# if defined (STLPORT) || !defined (__GNUC__) 23e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott try { 24e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott locale loc(locale::classic(), new messages_byname<char>(static_cast<char const*>(0))); 25e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott CPPUNIT_FAIL; 26e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott } 27e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott catch (runtime_error const& /* e */) { 28e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott //CPPUNIT_MESSAGE( e.what() ); 29e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott } 30e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott catch (...) { 31e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott CPPUNIT_FAIL; 32e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott } 33e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott# endif 34e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 35e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott try { 36e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott locale loc(locale::classic(), new messages_byname<char>("yasli_language")); 37e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott CPPUNIT_FAIL; 38e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott } 39e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott catch (runtime_error const& /* e */) { 40e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott //CPPUNIT_MESSAGE( e.what() ); 41e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott } 42e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott catch (...) { 43e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott CPPUNIT_FAIL; 44e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott } 45e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 46e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott /* 47e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott try { 48e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott locale loc(locale::classic(), new messages_byname<char>("")); 49e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott CPPUNIT_FAIL; 50e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott } 51e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott catch (runtime_error const& e) { 52e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott CPPUNIT_MESSAGE( e.what() ); 53e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott } 54e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott catch (...) { 55e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott CPPUNIT_FAIL; 56e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott } 57e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott */ 58e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 59e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott# if !defined (STLPORT) || !defined (_STLP_NO_WCHAR_T) 60e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott# if defined (STLPORT) || !defined (__GNUC__) 61e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott try { 62e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott locale loc(locale::classic(), new messages_byname<wchar_t>(static_cast<char const*>(0))); 63e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott CPPUNIT_FAIL; 64e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott } 65e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott catch (runtime_error const&) { 66e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott } 67e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott catch (...) { 68e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott CPPUNIT_FAIL; 69e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott } 70e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott# endif 71e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 72e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott try { 73e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott locale loc(locale::classic(), new messages_byname<wchar_t>("yasli_language")); 74e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott CPPUNIT_FAIL; 75e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott } 76e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott catch (runtime_error const&) { 77e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott } 78e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott catch (...) { 79e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott CPPUNIT_FAIL; 80e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott } 81e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott# endif 82e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott# endif 83e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott} 84e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 85e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott#endif 86