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