LCOV - code coverage report
Current view: top level - sal/qa/rtl/textenc - rtl_tencinfo.cxx (source / functions) Hit Total Coverage
Test: commit c8344322a7af75b84dd3ca8f78b05543a976dfd5 Lines: 828 828 100.0 %
Date: 2015-06-13 12:38:46 Functions: 240 241 99.6 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
       2             : /*
       3             :  * This file is part of the LibreOffice project.
       4             :  *
       5             :  * This Source Code Form is subject to the terms of the Mozilla Public
       6             :  * License, v. 2.0. If a copy of the MPL was not distributed with this
       7             :  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
       8             :  *
       9             :  * This file incorporates work covered by the following license notice:
      10             :  *
      11             :  *   Licensed to the Apache Software Foundation (ASF) under one or more
      12             :  *   contributor license agreements. See the NOTICE file distributed
      13             :  *   with this work for additional information regarding copyright
      14             :  *   ownership. The ASF licenses this file to you under the Apache
      15             :  *   License, Version 2.0 (the "License"); you may not use this file
      16             :  *   except in compliance with the License. You may obtain a copy of
      17             :  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
      18             :  */
      19             : 
      20             : #include <config_locales.h>
      21             : 
      22             : #include <string.h>
      23             : 
      24             : #include <osl/thread.h>
      25             : #include <rtl/tencinfo.h>
      26             : 
      27             : #include <cppunit/TestFixture.h>
      28             : #include <cppunit/extensions/HelperMacros.h>
      29             : #include <cppunit/plugin/TestPlugIn.h>
      30             : 
      31             : namespace
      32             : {
      33         243 :     class testBestMime : public CppUnit::TestFixture
      34             :     {
      35             :     public:
      36          81 :         void setUp() SAL_OVERRIDE
      37             :         {
      38          81 :         }
      39             : 
      40          81 :         void check(rtl_TextEncoding eIn, rtl_TextEncoding eOut)
      41             :         {
      42          81 :             const sal_Char *pCharSet = rtl_getBestMimeCharsetFromTextEncoding(eIn);
      43          81 :             rtl_TextEncoding eTextEnc = rtl_getTextEncodingFromMimeCharset(pCharSet);
      44          81 :             CPPUNIT_ASSERT_MESSAGE("rtl_getBestMimeCharsetFromTextEncoding && rtl_getTextEncodingFromMimeCharset differdiffer", eTextEnc == eOut);
      45          81 :         }
      46             : 
      47             :         // the defines for the follows test could be found in file inc/rtl/textenc.h
      48             : 
      49           1 :         void MimeCharsetFromTextEncoding_MS_1252()
      50             :         {
      51           1 :             check( RTL_TEXTENCODING_MS_1252, RTL_TEXTENCODING_MS_1252 );
      52           1 :         }
      53             : 
      54           1 :         void MimeCharsetFromTextEncoding_APPLE_ROMAN()
      55             :         {
      56           1 :             check( RTL_TEXTENCODING_APPLE_ROMAN, RTL_TEXTENCODING_APPLE_ROMAN);
      57           1 :         }
      58             : 
      59           1 :         void MimeCharsetFromTextEncoding_IBM_437()
      60             :         {
      61           1 :             check( RTL_TEXTENCODING_IBM_437, RTL_TEXTENCODING_IBM_437 );
      62           1 :         }
      63             : 
      64           1 :         void MimeCharsetFromTextEncoding_IBM_850()
      65             :         {
      66           1 :             check( RTL_TEXTENCODING_IBM_850, RTL_TEXTENCODING_IBM_850 );
      67           1 :         }
      68             : 
      69           1 :         void MimeCharsetFromTextEncoding_IBM_860()
      70             :         {
      71           1 :             check( RTL_TEXTENCODING_IBM_860, RTL_TEXTENCODING_IBM_860 );
      72           1 :         }
      73             : 
      74           1 :         void MimeCharsetFromTextEncoding_IBM_861()
      75             :         {
      76           1 :             check( RTL_TEXTENCODING_IBM_861, RTL_TEXTENCODING_IBM_861 );
      77           1 :         }
      78             : 
      79           1 :         void MimeCharsetFromTextEncoding_IBM_863()
      80             :         {
      81           1 :             check( RTL_TEXTENCODING_IBM_863, RTL_TEXTENCODING_IBM_863 );
      82           1 :         }
      83             : 
      84           1 :         void MimeCharsetFromTextEncoding_IBM_865()
      85             :         {
      86           1 :             check( RTL_TEXTENCODING_IBM_865, RTL_TEXTENCODING_IBM_865 );
      87           1 :         }
      88             : 
      89           1 :         void MimeCharsetFromTextEncoding_SYMBOL()
      90             :         {
      91           1 :             check( RTL_TEXTENCODING_SYMBOL, RTL_TEXTENCODING_DONTKNOW );
      92           1 :         }
      93             : 
      94           1 :         void MimeCharsetFromTextEncoding_ASCII_US()
      95             :         {
      96           1 :             check( RTL_TEXTENCODING_ASCII_US, RTL_TEXTENCODING_ASCII_US );
      97           1 :         }
      98             : 
      99           1 :         void MimeCharsetFromTextEncoding_ISO_8859_1()
     100             :         {
     101           1 :             check( RTL_TEXTENCODING_ISO_8859_1, RTL_TEXTENCODING_ISO_8859_1 );
     102           1 :         }
     103           1 :         void MimeCharsetFromTextEncoding_ISO_8859_2()
     104             :         {
     105           1 :             check( RTL_TEXTENCODING_ISO_8859_2, RTL_TEXTENCODING_ISO_8859_2 );
     106           1 :         }
     107           1 :         void MimeCharsetFromTextEncoding_ISO_8859_3()
     108             :         {
     109           1 :             check( RTL_TEXTENCODING_ISO_8859_3, RTL_TEXTENCODING_ISO_8859_3 );
     110           1 :         }
     111           1 :         void MimeCharsetFromTextEncoding_ISO_8859_4()
     112             :         {
     113           1 :             check( RTL_TEXTENCODING_ISO_8859_4, RTL_TEXTENCODING_ISO_8859_4 );
     114           1 :         }
     115           1 :         void MimeCharsetFromTextEncoding_ISO_8859_5()
     116             :         {
     117           1 :             check( RTL_TEXTENCODING_ISO_8859_5, RTL_TEXTENCODING_ISO_8859_5 );
     118           1 :         }
     119           1 :         void MimeCharsetFromTextEncoding_ISO_8859_6()
     120             :         {
     121           1 :             check( RTL_TEXTENCODING_ISO_8859_6, RTL_TEXTENCODING_ISO_8859_6 );
     122           1 :         }
     123           1 :         void MimeCharsetFromTextEncoding_ISO_8859_7()
     124             :         {
     125           1 :             check( RTL_TEXTENCODING_ISO_8859_7, RTL_TEXTENCODING_ISO_8859_7 );
     126           1 :         }
     127           1 :         void MimeCharsetFromTextEncoding_ISO_8859_8()
     128             :         {
     129           1 :             check( RTL_TEXTENCODING_ISO_8859_8, RTL_TEXTENCODING_ISO_8859_8 );
     130           1 :         }
     131           1 :         void MimeCharsetFromTextEncoding_ISO_8859_9()
     132             :         {
     133           1 :             check( RTL_TEXTENCODING_ISO_8859_9, RTL_TEXTENCODING_ISO_8859_9 );
     134           1 :         }
     135           1 :         void MimeCharsetFromTextEncoding_ISO_8859_14()
     136             :         {
     137           1 :             check( RTL_TEXTENCODING_ISO_8859_14, RTL_TEXTENCODING_ISO_8859_14 );
     138           1 :         }
     139           1 :         void MimeCharsetFromTextEncoding_ISO_8859_15()
     140             :         {
     141           1 :             check( RTL_TEXTENCODING_ISO_8859_15, RTL_TEXTENCODING_ISO_8859_15 );
     142           1 :         }
     143           1 :         void MimeCharsetFromTextEncoding_IBM_737()
     144             :         {
     145           1 :             check( RTL_TEXTENCODING_IBM_737, RTL_TEXTENCODING_ISO_8859_7 );
     146           1 :         }
     147           1 :         void MimeCharsetFromTextEncoding_IBM_775()
     148             :         {
     149           1 :             check( RTL_TEXTENCODING_IBM_775, RTL_TEXTENCODING_ISO_8859_4 );
     150           1 :         }
     151           1 :         void MimeCharsetFromTextEncoding_IBM_852()
     152             :         {
     153           1 :             check( RTL_TEXTENCODING_IBM_852, RTL_TEXTENCODING_IBM_852 );
     154           1 :         }
     155           1 :         void MimeCharsetFromTextEncoding_IBM_855()
     156             :         {
     157           1 :             check( RTL_TEXTENCODING_IBM_855, RTL_TEXTENCODING_ISO_8859_5 );
     158           1 :         }
     159           1 :         void MimeCharsetFromTextEncoding_IBM_857()
     160             :         {
     161           1 :             check( RTL_TEXTENCODING_IBM_857, RTL_TEXTENCODING_ISO_8859_9 );
     162           1 :         }
     163           1 :         void MimeCharsetFromTextEncoding_IBM_862()
     164             :         {
     165           1 :             check( RTL_TEXTENCODING_IBM_862, RTL_TEXTENCODING_IBM_862 );
     166           1 :         }
     167           1 :         void MimeCharsetFromTextEncoding_IBM_864()
     168             :         {
     169           1 :             check( RTL_TEXTENCODING_IBM_864, RTL_TEXTENCODING_IBM_864 );
     170           1 :         }
     171           1 :         void MimeCharsetFromTextEncoding_IBM_866()
     172             :         {
     173           1 :             check( RTL_TEXTENCODING_IBM_866, RTL_TEXTENCODING_IBM_866 );
     174           1 :         }
     175           1 :         void MimeCharsetFromTextEncoding_IBM_869()
     176             :         {
     177           1 :             check( RTL_TEXTENCODING_IBM_869, RTL_TEXTENCODING_ISO_8859_7 );
     178           1 :         }
     179           1 :         void MimeCharsetFromTextEncoding_MS_874()
     180             :         {
     181           1 :             check( RTL_TEXTENCODING_MS_874, RTL_TEXTENCODING_MS_874 );
     182           1 :         }
     183           1 :         void MimeCharsetFromTextEncoding_MS_1250()
     184             :         {
     185           1 :             check( RTL_TEXTENCODING_MS_1250, RTL_TEXTENCODING_MS_1250 );
     186           1 :         }
     187           1 :         void MimeCharsetFromTextEncoding_MS_1251()
     188             :         {
     189           1 :             check( RTL_TEXTENCODING_MS_1251, RTL_TEXTENCODING_MS_1251 );
     190           1 :         }
     191           1 :         void MimeCharsetFromTextEncoding_MS_1253()
     192             :         {
     193           1 :             check( RTL_TEXTENCODING_MS_1253, RTL_TEXTENCODING_MS_1253 );
     194           1 :         }
     195           1 :         void MimeCharsetFromTextEncoding_MS_1254()
     196             :         {
     197           1 :             check( RTL_TEXTENCODING_MS_1254, RTL_TEXTENCODING_MS_1254 );
     198           1 :         }
     199           1 :         void MimeCharsetFromTextEncoding_MS_1255()
     200             :         {
     201           1 :             check( RTL_TEXTENCODING_MS_1255, RTL_TEXTENCODING_MS_1255 );
     202           1 :         }
     203           1 :         void MimeCharsetFromTextEncoding_MS_1256()
     204             :         {
     205           1 :             check( RTL_TEXTENCODING_MS_1256, RTL_TEXTENCODING_MS_1256 );
     206           1 :         }
     207           1 :         void MimeCharsetFromTextEncoding_MS_1257()
     208             :         {
     209           1 :             check( RTL_TEXTENCODING_MS_1257, RTL_TEXTENCODING_MS_1257 );
     210           1 :         }
     211           1 :         void MimeCharsetFromTextEncoding_MS_1258()
     212             :         {
     213           1 :             check( RTL_TEXTENCODING_MS_1258, RTL_TEXTENCODING_MS_1258 );
     214           1 :         }
     215           1 :         void MimeCharsetFromTextEncoding_APPLE_CENTEURO()
     216             :         {
     217           1 :             check( RTL_TEXTENCODING_APPLE_CENTEURO, RTL_TEXTENCODING_ISO_8859_2 );
     218           1 :         }
     219           1 :         void MimeCharsetFromTextEncoding_APPLE_CROATIAN()
     220             :         {
     221           1 :             check( RTL_TEXTENCODING_APPLE_CROATIAN, RTL_TEXTENCODING_ISO_8859_2 );
     222           1 :         }
     223           1 :         void MimeCharsetFromTextEncoding_APPLE_CYRILLIC()
     224             :         {
     225           1 :             check( RTL_TEXTENCODING_APPLE_CYRILLIC, RTL_TEXTENCODING_ISO_8859_5 );
     226           1 :         }
     227           1 :         void MimeCharsetFromTextEncoding_APPLE_GREEK()
     228             :         {
     229           1 :             check( RTL_TEXTENCODING_APPLE_GREEK, RTL_TEXTENCODING_ISO_8859_7 );
     230           1 :         }
     231           1 :         void MimeCharsetFromTextEncoding_APPLE_ICELAND()
     232             :         {
     233           1 :             check( RTL_TEXTENCODING_APPLE_ICELAND, RTL_TEXTENCODING_ISO_8859_1 );
     234           1 :         }
     235           1 :         void MimeCharsetFromTextEncoding_APPLE_ROMANIAN()
     236             :         {
     237           1 :             check( RTL_TEXTENCODING_APPLE_ROMANIAN, RTL_TEXTENCODING_ISO_8859_2 );
     238           1 :         }
     239           1 :         void MimeCharsetFromTextEncoding_APPLE_TURKISH()
     240             :         {
     241           1 :             check( RTL_TEXTENCODING_APPLE_TURKISH, RTL_TEXTENCODING_ISO_8859_9 );
     242           1 :         }
     243           1 :         void MimeCharsetFromTextEncoding_APPLE_UKRAINIAN()
     244             :         {
     245           1 :             check( RTL_TEXTENCODING_APPLE_UKRAINIAN, RTL_TEXTENCODING_ISO_8859_5 );
     246           1 :         }
     247           1 :         void MimeCharsetFromTextEncoding_MS_932()
     248             :         {
     249           1 :             check( RTL_TEXTENCODING_MS_932, RTL_TEXTENCODING_SHIFT_JIS );
     250           1 :         }
     251           1 :         void MimeCharsetFromTextEncoding_MS_936()
     252             :         {
     253           1 :             check( RTL_TEXTENCODING_MS_936, RTL_TEXTENCODING_GB_2312 );
     254           1 :         }
     255           1 :         void MimeCharsetFromTextEncoding_MS_949()
     256             :         {
     257           1 :             check( RTL_TEXTENCODING_MS_949, RTL_TEXTENCODING_EUC_KR );
     258           1 :         }
     259           1 :         void MimeCharsetFromTextEncoding_MS_950()
     260             :         {
     261           1 :             check( RTL_TEXTENCODING_MS_950, RTL_TEXTENCODING_BIG5 );
     262           1 :         }
     263           1 :         void MimeCharsetFromTextEncoding_KOI8_R()
     264             :         {
     265           1 :             check( RTL_TEXTENCODING_KOI8_R, RTL_TEXTENCODING_KOI8_R );
     266           1 :         }
     267           1 :         void MimeCharsetFromTextEncoding_UTF7()
     268             :         {
     269           1 :             check( RTL_TEXTENCODING_UTF7, RTL_TEXTENCODING_UTF7 );
     270           1 :         }
     271           1 :         void MimeCharsetFromTextEncoding_UTF8()
     272             :         {
     273           1 :             check( RTL_TEXTENCODING_UTF8, RTL_TEXTENCODING_UTF8 );
     274           1 :         }
     275           1 :         void MimeCharsetFromTextEncoding_ISO_8859_10()
     276             :         {
     277           1 :             check( RTL_TEXTENCODING_ISO_8859_10, RTL_TEXTENCODING_ISO_8859_10 );
     278           1 :         }
     279           1 :         void MimeCharsetFromTextEncoding_ISO_8859_13()
     280             :         {
     281           1 :             check( RTL_TEXTENCODING_ISO_8859_13, RTL_TEXTENCODING_ISO_8859_13 );
     282           1 :         }
     283           1 :         void MimeCharsetFromTextEncoding_MS_1361()
     284             :         {
     285           1 :             check( RTL_TEXTENCODING_MS_1361, RTL_TEXTENCODING_EUC_KR );
     286           1 :         }
     287           1 :         void MimeCharsetFromTextEncoding_TIS_620()
     288             :         {
     289           1 :             check( RTL_TEXTENCODING_TIS_620, RTL_TEXTENCODING_TIS_620 );
     290           1 :         }
     291           1 :         void MimeCharsetFromTextEncoding_KOI8_U()
     292             :         {
     293           1 :             check( RTL_TEXTENCODING_KOI8_U, RTL_TEXTENCODING_KOI8_U );
     294           1 :         }
     295             : #if WITH_LOCALE_ALL || WITH_LOCALE_ja
     296           1 :         void MimeCharsetFromTextEncoding_APPLE_JAPANESE()
     297             :         {
     298           1 :             check( RTL_TEXTENCODING_APPLE_JAPANESE, RTL_TEXTENCODING_SHIFT_JIS );
     299           1 :         }
     300           1 :         void MimeCharsetFromTextEncoding_SHIFT_JIS()
     301             :         {
     302           1 :             check( RTL_TEXTENCODING_SHIFT_JIS, RTL_TEXTENCODING_SHIFT_JIS );
     303           1 :         }
     304           1 :         void MimeCharsetFromTextEncoding_EUC_JP()
     305             :         {
     306           1 :             check( RTL_TEXTENCODING_EUC_JP, RTL_TEXTENCODING_EUC_JP );
     307           1 :         }
     308           1 :         void MimeCharsetFromTextEncoding_ISO_2022_JP()
     309             :         {
     310           1 :             check( RTL_TEXTENCODING_ISO_2022_JP, RTL_TEXTENCODING_ISO_2022_JP );
     311           1 :         }
     312           1 :         void MimeCharsetFromTextEncoding_JIS_X_0201()
     313             :         {
     314           1 :             check( RTL_TEXTENCODING_JIS_X_0201, RTL_TEXTENCODING_EUC_JP );
     315           1 :         }
     316           1 :         void MimeCharsetFromTextEncoding_JIS_X_0208()
     317             :         {
     318           1 :             check( RTL_TEXTENCODING_JIS_X_0208, RTL_TEXTENCODING_EUC_JP );
     319           1 :         }
     320           1 :         void MimeCharsetFromTextEncoding_JIS_X_0212()
     321             :         {
     322           1 :             check( RTL_TEXTENCODING_JIS_X_0212, RTL_TEXTENCODING_EUC_JP );
     323           1 :         }
     324             : #endif
     325             : #if WITH_LOCALE_ALL || WITH_LOCALE_ko
     326           1 :         void MimeCharsetFromTextEncoding_APPLE_KOREAN()
     327             :         {
     328           1 :             check( RTL_TEXTENCODING_APPLE_KOREAN, RTL_TEXTENCODING_EUC_KR );
     329           1 :         }
     330           1 :         void MimeCharsetFromTextEncoding_EUC_KR()
     331             :         {
     332           1 :             check( RTL_TEXTENCODING_EUC_KR, RTL_TEXTENCODING_EUC_KR );
     333           1 :         }
     334           1 :         void MimeCharsetFromTextEncoding_ISO_2022_KR()
     335             :         {
     336           1 :             check( RTL_TEXTENCODING_ISO_2022_KR, RTL_TEXTENCODING_ISO_2022_KR );
     337           1 :         }
     338             : #endif
     339             : #if WITH_LOCALE_ALL || WITH_LOCALE_zh
     340           1 :         void MimeCharsetFromTextEncoding_APPLE_CHINSIMP()
     341             :         {
     342           1 :             check( RTL_TEXTENCODING_APPLE_CHINSIMP, RTL_TEXTENCODING_GB_2312 );
     343           1 :         }
     344           1 :         void MimeCharsetFromTextEncoding_APPLE_CHINTRAD()
     345             :         {
     346           1 :             check( RTL_TEXTENCODING_APPLE_CHINTRAD, RTL_TEXTENCODING_BIG5 );
     347           1 :         }
     348           1 :         void MimeCharsetFromTextEncoding_GB_2312()
     349             :         {
     350           1 :             check( RTL_TEXTENCODING_GB_2312, RTL_TEXTENCODING_GB_2312 );
     351           1 :         }
     352           1 :         void MimeCharsetFromTextEncoding_GBT_12345()
     353             :         {
     354           1 :             check( RTL_TEXTENCODING_GBT_12345, RTL_TEXTENCODING_GBT_12345 );
     355           1 :         }
     356           1 :         void MimeCharsetFromTextEncoding_GBK()
     357             :         {
     358           1 :             check( RTL_TEXTENCODING_GBK, RTL_TEXTENCODING_GBK );
     359           1 :         }
     360           1 :         void MimeCharsetFromTextEncoding_BIG5()
     361             :         {
     362           1 :             check( RTL_TEXTENCODING_BIG5, RTL_TEXTENCODING_BIG5 );
     363           1 :         }
     364           1 :         void MimeCharsetFromTextEncoding_EUC_CN()
     365             :         {
     366           1 :             check( RTL_TEXTENCODING_EUC_CN, RTL_TEXTENCODING_GB_2312 );
     367           1 :         }
     368           1 :         void MimeCharsetFromTextEncoding_EUC_TW()
     369             :         {
     370           1 :             check( RTL_TEXTENCODING_EUC_TW, RTL_TEXTENCODING_BIG5 );
     371           1 :         }
     372           1 :         void MimeCharsetFromTextEncoding_ISO_2022_CN()
     373             :         {
     374           1 :             check( RTL_TEXTENCODING_ISO_2022_CN, RTL_TEXTENCODING_ISO_2022_CN );
     375           1 :         }
     376           1 :         void MimeCharsetFromTextEncoding_GB_18030()
     377             :         {
     378           1 :             check( RTL_TEXTENCODING_GB_18030, RTL_TEXTENCODING_GB_18030 );
     379           1 :         }
     380           1 :         void MimeCharsetFromTextEncoding_BIG5_HKSCS()
     381             :         {
     382           1 :             check( RTL_TEXTENCODING_BIG5_HKSCS, RTL_TEXTENCODING_BIG5_HKSCS );
     383           1 :         }
     384             : #endif
     385             : #if WITH_LOCALE_ALL || WITH_LOCALE_FOR_SCRIPT_Deva
     386           1 :         void MimeCharsetFromTextEncoding_ISCII_DEVANAGARI()
     387             :         {
     388           1 :             check( RTL_TEXTENCODING_ISCII_DEVANAGARI, RTL_TEXTENCODING_ISCII_DEVANAGARI );
     389           1 :         }
     390             : #endif
     391           2 :         CPPUNIT_TEST_SUITE( testBestMime );
     392             : 
     393           1 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_MS_1252 );
     394           1 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_APPLE_ROMAN );
     395           1 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_IBM_437 );
     396           1 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_IBM_850 );
     397           1 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_IBM_860 );
     398           1 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_IBM_861 );
     399           1 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_IBM_863 );
     400           1 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_IBM_865 );
     401           1 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_SYMBOL );
     402           1 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_ASCII_US );
     403           1 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_ISO_8859_1 );
     404           1 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_ISO_8859_2 );
     405           1 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_ISO_8859_3 );
     406           1 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_ISO_8859_4 );
     407           1 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_ISO_8859_5 );
     408           1 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_ISO_8859_6 );
     409           1 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_ISO_8859_7 );
     410           1 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_ISO_8859_8 );
     411           1 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_ISO_8859_9 );
     412           1 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_ISO_8859_14 );
     413           1 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_ISO_8859_15 );
     414           1 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_IBM_737 );
     415           1 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_IBM_775 );
     416           1 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_IBM_852 );
     417           1 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_IBM_855 );
     418           1 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_IBM_857 );
     419           1 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_IBM_862 );
     420           1 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_IBM_864 );
     421           1 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_IBM_866 );
     422           1 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_IBM_869 );
     423           1 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_MS_874 );
     424           1 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_MS_1250 );
     425           1 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_MS_1251 );
     426           1 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_MS_1253 );
     427           1 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_MS_1254 );
     428           1 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_MS_1255 );
     429           1 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_MS_1256 );
     430           1 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_MS_1257 );
     431           1 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_MS_1258 );
     432           1 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_APPLE_CENTEURO );
     433           1 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_APPLE_CROATIAN );
     434           1 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_APPLE_CYRILLIC );
     435           1 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_APPLE_GREEK );
     436           1 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_APPLE_ICELAND );
     437           1 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_APPLE_ROMANIAN );
     438           1 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_APPLE_TURKISH );
     439           1 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_APPLE_UKRAINIAN );
     440           1 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_MS_932 );
     441           1 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_MS_936 );
     442           1 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_MS_949 );
     443           1 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_MS_950 );
     444           1 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_KOI8_R );
     445           1 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_UTF7 );
     446           1 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_UTF8 );
     447           1 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_ISO_8859_10 );
     448           1 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_ISO_8859_13 );
     449           1 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_MS_1361 );
     450           1 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_TIS_620 );
     451           1 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_KOI8_U );
     452             : #if WITH_LOCALE_ALL || WITH_LOCALE_ja
     453           1 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_APPLE_JAPANESE );
     454           1 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_SHIFT_JIS );
     455           1 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_EUC_JP );
     456           1 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_ISO_2022_JP );
     457           1 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_JIS_X_0201 );
     458           1 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_JIS_X_0208 );
     459           1 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_JIS_X_0212 );
     460             : #endif
     461             : #if WITH_LOCALE_ALL || WITH_LOCALE_ko
     462           1 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_APPLE_KOREAN );
     463           1 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_EUC_KR );
     464           1 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_ISO_2022_KR );
     465             : #endif
     466             : #if WITH_LOCALE_ALL || WITH_LOCALE_zh
     467           1 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_APPLE_CHINSIMP );
     468           1 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_APPLE_CHINTRAD );
     469           1 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_GB_2312 );
     470           1 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_GBT_12345 );
     471           1 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_GBK );
     472           1 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_BIG5 );
     473           1 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_EUC_CN );
     474           1 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_EUC_TW );
     475           1 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_ISO_2022_CN );
     476           1 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_GB_18030 );
     477           1 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_BIG5_HKSCS );
     478             : #endif
     479             : #if WITH_LOCALE_ALL || WITH_LOCALE_FOR_SCRIPT_Deva
     480           1 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_ISCII_DEVANAGARI );
     481             : #endif
     482           5 :         CPPUNIT_TEST_SUITE_END( );
     483             :     };
     484             : 
     485         240 :     class testBestUnix : public CppUnit::TestFixture
     486             :     {
     487             :     public:
     488          80 :         void setUp() SAL_OVERRIDE
     489             :         {
     490          80 :         }
     491             : 
     492          80 :         void check(rtl_TextEncoding eIn, rtl_TextEncoding eOut)
     493             :         {
     494          80 :             const sal_Char *pCharSet = rtl_getBestUnixCharsetFromTextEncoding(eIn);
     495          80 :             rtl_TextEncoding eTextEnc = rtl_getTextEncodingFromUnixCharset(pCharSet);
     496          80 :             CPPUNIT_ASSERT_MESSAGE("rtl_getBestUnixCharsetFromTextEncoding && rtl_getTextEncodingFromUnixCharset", eTextEnc == eOut);
     497          80 :         }
     498             : 
     499           1 :         void UnixCharsetFromTextEncoding_MS_1252()
     500             :         {
     501           1 :             check( RTL_TEXTENCODING_MS_1252, RTL_TEXTENCODING_ISO_8859_1 );
     502           1 :         }
     503             : 
     504           1 :         void UnixCharsetFromTextEncoding_APPLE_ROMAN()
     505             :         {
     506           1 :             check( RTL_TEXTENCODING_APPLE_ROMAN, RTL_TEXTENCODING_ISO_8859_1 );
     507           1 :         }
     508             : 
     509           1 :         void UnixCharsetFromTextEncoding_IBM_437()
     510             :         {
     511           1 :             check( RTL_TEXTENCODING_IBM_437, RTL_TEXTENCODING_ISO_8859_1 );
     512           1 :         }
     513             : 
     514           1 :         void UnixCharsetFromTextEncoding_IBM_850()
     515             :         {
     516           1 :             check( RTL_TEXTENCODING_IBM_850, RTL_TEXTENCODING_ISO_8859_1 );
     517           1 :         }
     518             : 
     519           1 :         void UnixCharsetFromTextEncoding_IBM_860()
     520             :         {
     521           1 :             check( RTL_TEXTENCODING_IBM_860, RTL_TEXTENCODING_ISO_8859_1 );
     522           1 :         }
     523             : 
     524           1 :         void UnixCharsetFromTextEncoding_IBM_861()
     525             :         {
     526           1 :             check( RTL_TEXTENCODING_IBM_861, RTL_TEXTENCODING_ISO_8859_1 );
     527           1 :         }
     528             : 
     529           1 :         void UnixCharsetFromTextEncoding_IBM_863()
     530             :         {
     531           1 :             check( RTL_TEXTENCODING_IBM_863, RTL_TEXTENCODING_ISO_8859_1 );
     532           1 :         }
     533             : 
     534           1 :         void UnixCharsetFromTextEncoding_IBM_865()
     535             :         {
     536           1 :             check( RTL_TEXTENCODING_IBM_865, RTL_TEXTENCODING_ISO_8859_1 );
     537           1 :         }
     538             : 
     539           1 :         void UnixCharsetFromTextEncoding_SYMBOL()
     540             :         {
     541           1 :             check( RTL_TEXTENCODING_SYMBOL, RTL_TEXTENCODING_SYMBOL );
     542           1 :         }
     543             : 
     544           1 :         void UnixCharsetFromTextEncoding_ASCII_US()
     545             :         {
     546           1 :             check( RTL_TEXTENCODING_ASCII_US, RTL_TEXTENCODING_ISO_8859_1 );
     547           1 :         }
     548             : 
     549           1 :         void UnixCharsetFromTextEncoding_ISO_8859_1()
     550             :         {
     551           1 :             check( RTL_TEXTENCODING_ISO_8859_1, RTL_TEXTENCODING_ISO_8859_1 );
     552           1 :         }
     553             : 
     554           1 :         void UnixCharsetFromTextEncoding_ISO_8859_2()
     555             :         {
     556           1 :             check( RTL_TEXTENCODING_ISO_8859_2, RTL_TEXTENCODING_ISO_8859_2 );
     557           1 :         }
     558             : 
     559           1 :         void UnixCharsetFromTextEncoding_ISO_8859_3()
     560             :         {
     561           1 :             check( RTL_TEXTENCODING_ISO_8859_3, RTL_TEXTENCODING_ISO_8859_3 );
     562           1 :         }
     563             : 
     564           1 :         void UnixCharsetFromTextEncoding_ISO_8859_4()
     565             :         {
     566           1 :             check( RTL_TEXTENCODING_ISO_8859_4, RTL_TEXTENCODING_ISO_8859_4 );
     567           1 :         }
     568             : 
     569           1 :         void UnixCharsetFromTextEncoding_ISO_8859_5()
     570             :         {
     571           1 :             check( RTL_TEXTENCODING_ISO_8859_5, RTL_TEXTENCODING_ISO_8859_5 );
     572           1 :         }
     573             : 
     574           1 :         void UnixCharsetFromTextEncoding_ISO_8859_6()
     575             :         {
     576           1 :             check( RTL_TEXTENCODING_ISO_8859_6, RTL_TEXTENCODING_ISO_8859_6 );
     577           1 :         }
     578             : 
     579           1 :         void UnixCharsetFromTextEncoding_ISO_8859_7()
     580             :         {
     581           1 :             check( RTL_TEXTENCODING_ISO_8859_7, RTL_TEXTENCODING_ISO_8859_7 );
     582           1 :         }
     583             : 
     584           1 :         void UnixCharsetFromTextEncoding_ISO_8859_8()
     585             :         {
     586           1 :             check( RTL_TEXTENCODING_ISO_8859_8, RTL_TEXTENCODING_ISO_8859_8 );
     587           1 :         }
     588             : 
     589           1 :         void UnixCharsetFromTextEncoding_ISO_8859_9()
     590             :         {
     591           1 :             check( RTL_TEXTENCODING_ISO_8859_9, RTL_TEXTENCODING_ISO_8859_9 );
     592           1 :         }
     593             : 
     594           1 :         void UnixCharsetFromTextEncoding_ISO_8859_14()
     595             :         {
     596           1 :             check( RTL_TEXTENCODING_ISO_8859_14, RTL_TEXTENCODING_ISO_8859_14 );
     597           1 :         }
     598             : 
     599           1 :         void UnixCharsetFromTextEncoding_ISO_8859_15()
     600             :         {
     601           1 :             check( RTL_TEXTENCODING_ISO_8859_15, RTL_TEXTENCODING_ISO_8859_15 );
     602           1 :         }
     603             : 
     604           1 :         void UnixCharsetFromTextEncoding_IBM_737()
     605             :         {
     606           1 :             check( RTL_TEXTENCODING_IBM_737, RTL_TEXTENCODING_ISO_8859_7 );
     607           1 :         }
     608             : 
     609           1 :         void UnixCharsetFromTextEncoding_IBM_775()
     610             :         {
     611           1 :             check( RTL_TEXTENCODING_IBM_775, RTL_TEXTENCODING_ISO_8859_4 );
     612           1 :         }
     613             : 
     614           1 :         void UnixCharsetFromTextEncoding_IBM_852()
     615             :         {
     616           1 :             check( RTL_TEXTENCODING_IBM_852, RTL_TEXTENCODING_ISO_8859_2 );
     617           1 :         }
     618             : 
     619           1 :         void UnixCharsetFromTextEncoding_IBM_855()
     620             :         {
     621           1 :             check( RTL_TEXTENCODING_IBM_855, RTL_TEXTENCODING_ISO_8859_5 );
     622           1 :         }
     623             : 
     624           1 :         void UnixCharsetFromTextEncoding_IBM_857()
     625             :         {
     626           1 :             check( RTL_TEXTENCODING_IBM_857, RTL_TEXTENCODING_ISO_8859_9 );
     627           1 :         }
     628             : 
     629           1 :         void UnixCharsetFromTextEncoding_IBM_862()
     630             :         {
     631           1 :             check( RTL_TEXTENCODING_IBM_862, RTL_TEXTENCODING_ISO_8859_8 );
     632           1 :         }
     633             : 
     634           1 :         void UnixCharsetFromTextEncoding_IBM_864()
     635             :         {
     636           1 :             check( RTL_TEXTENCODING_IBM_864, RTL_TEXTENCODING_ISO_8859_6 );
     637           1 :         }
     638             : 
     639           1 :         void UnixCharsetFromTextEncoding_IBM_866()
     640             :         {
     641           1 :             check( RTL_TEXTENCODING_IBM_866, RTL_TEXTENCODING_ISO_8859_5 );
     642           1 :         }
     643             : 
     644           1 :         void UnixCharsetFromTextEncoding_IBM_869()
     645             :         {
     646           1 :             check( RTL_TEXTENCODING_IBM_869, RTL_TEXTENCODING_ISO_8859_7 );
     647           1 :         }
     648             : 
     649           1 :         void UnixCharsetFromTextEncoding_MS_874()
     650             :         {
     651           1 :             check( RTL_TEXTENCODING_MS_874, RTL_TEXTENCODING_ISO_8859_1 );
     652           1 :         }
     653             : 
     654           1 :         void UnixCharsetFromTextEncoding_MS_1250()
     655             :         {
     656           1 :             check( RTL_TEXTENCODING_MS_1250, RTL_TEXTENCODING_ISO_8859_2 );
     657           1 :         }
     658             : 
     659           1 :         void UnixCharsetFromTextEncoding_MS_1251()
     660             :         {
     661           1 :             check( RTL_TEXTENCODING_MS_1251, RTL_TEXTENCODING_ISO_8859_5 );
     662           1 :         }
     663             : 
     664           1 :         void UnixCharsetFromTextEncoding_MS_1253()
     665             :         {
     666           1 :             check( RTL_TEXTENCODING_MS_1253, RTL_TEXTENCODING_ISO_8859_7 );
     667           1 :         }
     668             : 
     669           1 :         void UnixCharsetFromTextEncoding_MS_1254()
     670             :         {
     671           1 :             check( RTL_TEXTENCODING_MS_1254, RTL_TEXTENCODING_ISO_8859_9 );
     672           1 :         }
     673             : 
     674           1 :         void UnixCharsetFromTextEncoding_MS_1255()
     675             :         {
     676           1 :             check( RTL_TEXTENCODING_MS_1255, RTL_TEXTENCODING_ISO_8859_8 );
     677           1 :         }
     678             : 
     679           1 :         void UnixCharsetFromTextEncoding_MS_1256()
     680             :         {
     681           1 :             check( RTL_TEXTENCODING_MS_1256, RTL_TEXTENCODING_ISO_8859_6 );
     682           1 :         }
     683             : 
     684           1 :         void UnixCharsetFromTextEncoding_MS_1257()
     685             :         {
     686           1 :             check( RTL_TEXTENCODING_MS_1257, RTL_TEXTENCODING_ISO_8859_4 );
     687           1 :         }
     688             : 
     689           1 :         void UnixCharsetFromTextEncoding_MS_1258()
     690             :         {
     691           1 :             check( RTL_TEXTENCODING_MS_1258, RTL_TEXTENCODING_ISO_8859_1 );
     692           1 :         }
     693             : 
     694           1 :         void UnixCharsetFromTextEncoding_APPLE_CENTEURO()
     695             :         {
     696           1 :             check( RTL_TEXTENCODING_APPLE_CENTEURO, RTL_TEXTENCODING_ISO_8859_2 );
     697           1 :         }
     698             : 
     699           1 :         void UnixCharsetFromTextEncoding_APPLE_CROATIAN()
     700             :         {
     701           1 :             check( RTL_TEXTENCODING_APPLE_CROATIAN, RTL_TEXTENCODING_ISO_8859_2 );
     702           1 :         }
     703             : 
     704           1 :         void UnixCharsetFromTextEncoding_APPLE_CYRILLIC()
     705             :         {
     706           1 :             check( RTL_TEXTENCODING_APPLE_CYRILLIC, RTL_TEXTENCODING_ISO_8859_5 );
     707           1 :         }
     708             : 
     709           1 :         void UnixCharsetFromTextEncoding_APPLE_GREEK()
     710             :         {
     711           1 :             check( RTL_TEXTENCODING_APPLE_GREEK, RTL_TEXTENCODING_ISO_8859_7 );
     712           1 :         }
     713             : 
     714           1 :         void UnixCharsetFromTextEncoding_APPLE_ICELAND()
     715             :         {
     716           1 :             check( RTL_TEXTENCODING_APPLE_ICELAND, RTL_TEXTENCODING_ISO_8859_1 );
     717           1 :         }
     718             : 
     719           1 :         void UnixCharsetFromTextEncoding_APPLE_ROMANIAN()
     720             :         {
     721           1 :             check( RTL_TEXTENCODING_APPLE_ROMANIAN, RTL_TEXTENCODING_ISO_8859_2 );
     722           1 :         }
     723             : 
     724           1 :         void UnixCharsetFromTextEncoding_APPLE_TURKISH()
     725             :         {
     726           1 :             check( RTL_TEXTENCODING_APPLE_TURKISH, RTL_TEXTENCODING_ISO_8859_9 );
     727           1 :         }
     728             : 
     729           1 :         void UnixCharsetFromTextEncoding_APPLE_UKRAINIAN()
     730             :         {
     731           1 :             check( RTL_TEXTENCODING_APPLE_UKRAINIAN, RTL_TEXTENCODING_ISO_8859_5 );
     732           1 :         }
     733             : #if WITH_LOCALE_ALL || WITH_LOCALE_zh
     734           1 :         void UnixCharsetFromTextEncoding_APPLE_CHINSIMP()
     735             :         {
     736           1 :             check( RTL_TEXTENCODING_APPLE_CHINSIMP, RTL_TEXTENCODING_DONTKNOW );
     737           1 :         }
     738             : 
     739           1 :         void UnixCharsetFromTextEncoding_APPLE_CHINTRAD()
     740             :         {
     741           1 :             check( RTL_TEXTENCODING_APPLE_CHINTRAD, RTL_TEXTENCODING_DONTKNOW );
     742           1 :         }
     743             : #endif
     744             : #if WITH_LOCALE_ALL || WITH_LOCALE_ja
     745           1 :         void UnixCharsetFromTextEncoding_APPLE_JAPANESE()
     746             :         {
     747           1 :             check( RTL_TEXTENCODING_APPLE_JAPANESE, RTL_TEXTENCODING_DONTKNOW );
     748           1 :         }
     749             : #endif
     750             : #if WITH_LOCALE_ALL || WITH_LOCALE_ko
     751           1 :         void UnixCharsetFromTextEncoding_APPLE_KOREAN()
     752             :         {
     753           1 :             check( RTL_TEXTENCODING_APPLE_KOREAN, RTL_TEXTENCODING_DONTKNOW );
     754           1 :         }
     755             : #endif
     756           1 :         void UnixCharsetFromTextEncoding_MS_932()
     757             :         {
     758           1 :             check( RTL_TEXTENCODING_MS_932, RTL_TEXTENCODING_DONTKNOW );
     759           1 :         }
     760             : 
     761           1 :         void UnixCharsetFromTextEncoding_MS_936()
     762             :         {
     763           1 :             check( RTL_TEXTENCODING_MS_936, RTL_TEXTENCODING_DONTKNOW );
     764           1 :         }
     765             : 
     766           1 :         void UnixCharsetFromTextEncoding_MS_949()
     767             :         {
     768           1 :             check( RTL_TEXTENCODING_MS_949, RTL_TEXTENCODING_DONTKNOW );
     769           1 :         }
     770             : 
     771           1 :         void UnixCharsetFromTextEncoding_MS_950()
     772             :         {
     773           1 :             check( RTL_TEXTENCODING_MS_950, RTL_TEXTENCODING_DONTKNOW );
     774           1 :         }
     775             : #if WITH_LOCALE_ALL || WITH_LOCALE_ja
     776           1 :         void UnixCharsetFromTextEncoding_SHIFT_JIS()
     777             :         {
     778           1 :             check( RTL_TEXTENCODING_SHIFT_JIS, RTL_TEXTENCODING_DONTKNOW );
     779           1 :         }
     780             : #endif
     781             : #if WITH_LOCALE_ALL || WITH_LOCALE_zh
     782           1 :         void UnixCharsetFromTextEncoding_GB_2312()
     783             :         {
     784           1 :             check( RTL_TEXTENCODING_GB_2312, RTL_TEXTENCODING_DONTKNOW );
     785           1 :         }
     786             : 
     787           1 :         void UnixCharsetFromTextEncoding_GBT_12345()
     788             :         {
     789           1 :             check( RTL_TEXTENCODING_GBT_12345, RTL_TEXTENCODING_DONTKNOW );
     790           1 :         }
     791             : 
     792           1 :         void UnixCharsetFromTextEncoding_GBK()
     793             :         {
     794           1 :             check( RTL_TEXTENCODING_GBK, RTL_TEXTENCODING_DONTKNOW );
     795           1 :         }
     796             : 
     797           1 :         void UnixCharsetFromTextEncoding_BIG5()
     798             :         {
     799           1 :             check( RTL_TEXTENCODING_BIG5, RTL_TEXTENCODING_DONTKNOW );
     800           1 :         }
     801             : #endif
     802             : #if WITH_LOCALE_ALL || WITH_LOCALE_ja
     803           1 :         void UnixCharsetFromTextEncoding_EUC_JP()
     804             :         {
     805           1 :             check( RTL_TEXTENCODING_EUC_JP, RTL_TEXTENCODING_DONTKNOW );
     806           1 :         }
     807             : #endif
     808             : #if WITH_LOCALE_ALL || WITH_LOCALE_zh
     809           1 :         void UnixCharsetFromTextEncoding_EUC_CN()
     810             :         {
     811           1 :             check( RTL_TEXTENCODING_EUC_CN, RTL_TEXTENCODING_DONTKNOW );
     812           1 :         }
     813             : 
     814           1 :         void UnixCharsetFromTextEncoding_EUC_TW()
     815             :         {
     816           1 :             check( RTL_TEXTENCODING_EUC_TW, RTL_TEXTENCODING_DONTKNOW );
     817           1 :         }
     818             : #endif
     819             : #if WITH_LOCALE_ALL || WITH_LOCALE_ja
     820           1 :         void UnixCharsetFromTextEncoding_ISO_2022_JP()
     821             :         {
     822           1 :             check( RTL_TEXTENCODING_ISO_2022_JP, RTL_TEXTENCODING_DONTKNOW );
     823           1 :         }
     824             : #endif
     825             : #if WITH_LOCALE_ALL || WITH_LOCALE_zh
     826           1 :         void UnixCharsetFromTextEncoding_ISO_2022_CN()
     827             :         {
     828           1 :             check( RTL_TEXTENCODING_ISO_2022_CN, RTL_TEXTENCODING_DONTKNOW );
     829           1 :         }
     830             : #endif
     831           1 :         void UnixCharsetFromTextEncoding_KOI8_R()
     832             :         {
     833           1 :             check( RTL_TEXTENCODING_KOI8_R, RTL_TEXTENCODING_KOI8_R );
     834           1 :         }
     835             : 
     836           1 :         void UnixCharsetFromTextEncoding_UTF7()
     837             :         {
     838           1 :             check( RTL_TEXTENCODING_UTF7, RTL_TEXTENCODING_ISO_8859_1 );
     839           1 :         }
     840             : 
     841           1 :         void UnixCharsetFromTextEncoding_UTF8()
     842             :         {
     843           1 :             check( RTL_TEXTENCODING_UTF8, RTL_TEXTENCODING_ISO_8859_1 );
     844           1 :         }
     845             : 
     846           1 :         void UnixCharsetFromTextEncoding_ISO_8859_10()
     847             :         {
     848           1 :             check( RTL_TEXTENCODING_ISO_8859_10, RTL_TEXTENCODING_ISO_8859_10 );
     849           1 :         }
     850             : 
     851           1 :         void UnixCharsetFromTextEncoding_ISO_8859_13()
     852             :         {
     853           1 :             check( RTL_TEXTENCODING_ISO_8859_13, RTL_TEXTENCODING_ISO_8859_13 );
     854           1 :         }
     855             : #if WITH_LOCALE_ALL || WITH_LOCALE_ko
     856           1 :         void UnixCharsetFromTextEncoding_EUC_KR()
     857             :         {
     858           1 :             check( RTL_TEXTENCODING_EUC_KR, RTL_TEXTENCODING_DONTKNOW );
     859           1 :         }
     860             : 
     861           1 :         void UnixCharsetFromTextEncoding_ISO_2022_KR()
     862             :         {
     863           1 :             check( RTL_TEXTENCODING_ISO_2022_KR, RTL_TEXTENCODING_DONTKNOW );
     864           1 :         }
     865             : #endif
     866             : #if WITH_LOCALE_ALL || WITH_LOCALE_ja
     867           1 :         void UnixCharsetFromTextEncoding_JIS_X_0201()
     868             :         {
     869           1 :             check( RTL_TEXTENCODING_JIS_X_0201, RTL_TEXTENCODING_DONTKNOW );
     870           1 :         }
     871             : 
     872           1 :         void UnixCharsetFromTextEncoding_JIS_X_0208()
     873             :         {
     874           1 :             check( RTL_TEXTENCODING_JIS_X_0208, RTL_TEXTENCODING_DONTKNOW );
     875           1 :         }
     876             : 
     877           1 :         void UnixCharsetFromTextEncoding_JIS_X_0212()
     878             :         {
     879           1 :             check( RTL_TEXTENCODING_JIS_X_0212, RTL_TEXTENCODING_DONTKNOW );
     880           1 :         }
     881             : #endif
     882           1 :         void UnixCharsetFromTextEncoding_MS_1361()
     883             :         {
     884           1 :             check( RTL_TEXTENCODING_MS_1361, RTL_TEXTENCODING_DONTKNOW );
     885           1 :         }
     886             : #if WITH_LOCALE_ALL || WITH_LOCALE_zh
     887           1 :         void UnixCharsetFromTextEncoding_GB_18030()
     888             :         {
     889           1 :             check( RTL_TEXTENCODING_GB_18030, RTL_TEXTENCODING_GBK );
     890           1 :         }
     891             : 
     892           1 :         void UnixCharsetFromTextEncoding_BIG5_HKSCS()
     893             :         {
     894           1 :             check( RTL_TEXTENCODING_BIG5_HKSCS, RTL_TEXTENCODING_DONTKNOW );
     895           1 :         }
     896             : #endif
     897           1 :         void UnixCharsetFromTextEncoding_TIS_620()
     898             :         {
     899           1 :             check( RTL_TEXTENCODING_TIS_620, RTL_TEXTENCODING_ISO_8859_1 );
     900           1 :         }
     901             : 
     902           1 :         void UnixCharsetFromTextEncoding_KOI8_U()
     903             :         {
     904           1 :             check( RTL_TEXTENCODING_KOI8_U, RTL_TEXTENCODING_KOI8_U );
     905           1 :         }
     906             : 
     907           2 :         CPPUNIT_TEST_SUITE( testBestUnix );
     908           1 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_MS_1252 );
     909           1 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_APPLE_ROMAN );
     910           1 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_IBM_437 );
     911           1 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_IBM_850 );
     912           1 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_IBM_860 );
     913           1 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_IBM_861 );
     914           1 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_IBM_863 );
     915           1 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_IBM_865 );
     916             : 
     917           1 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_SYMBOL );
     918           1 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_ASCII_US );
     919           1 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_ISO_8859_1 );
     920           1 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_ISO_8859_2 );
     921           1 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_ISO_8859_3 );
     922           1 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_ISO_8859_4 );
     923           1 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_ISO_8859_5 );
     924           1 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_ISO_8859_6 );
     925           1 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_ISO_8859_7 );
     926           1 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_ISO_8859_8 );
     927           1 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_ISO_8859_9 );
     928           1 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_ISO_8859_14 );
     929           1 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_ISO_8859_15 );
     930           1 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_IBM_737 );
     931           1 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_IBM_775 );
     932           1 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_IBM_852 );
     933           1 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_IBM_855 );
     934           1 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_IBM_857 );
     935           1 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_IBM_862 );
     936           1 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_IBM_864 );
     937           1 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_IBM_866 );
     938           1 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_IBM_869 );
     939           1 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_MS_874 );
     940           1 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_MS_1250 );
     941           1 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_MS_1251 );
     942           1 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_MS_1253 );
     943           1 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_MS_1254 );
     944           1 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_MS_1255 );
     945           1 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_MS_1256 );
     946           1 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_MS_1257 );
     947           1 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_MS_1258 );
     948           1 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_APPLE_CENTEURO );
     949           1 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_APPLE_CROATIAN );
     950           1 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_APPLE_CYRILLIC );
     951           1 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_APPLE_GREEK );
     952           1 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_APPLE_ICELAND );
     953           1 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_APPLE_ROMANIAN );
     954           1 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_APPLE_TURKISH );
     955           1 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_APPLE_UKRAINIAN );
     956             : #if WITH_LOCALE_ALL || WITH_LOCALE_zh
     957           1 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_APPLE_CHINSIMP );
     958           1 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_APPLE_CHINTRAD );
     959             : #endif
     960             : #if WITH_LOCALE_ALL || WITH_LOCALE_ja
     961           1 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_APPLE_JAPANESE );
     962             : #endif
     963             : #if WITH_LOCALE_ALL || WITH_LOCALE_ko
     964           1 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_APPLE_KOREAN );
     965             : #endif
     966           1 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_MS_932 );
     967           1 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_MS_936 );
     968           1 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_MS_949 );
     969           1 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_MS_950 );
     970             : #if WITH_LOCALE_ALL || WITH_LOCALE_ja
     971           1 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_SHIFT_JIS );
     972             : #endif
     973             : #if WITH_LOCALE_ALL || WITH_LOCALE_zh
     974           1 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_GB_2312 );
     975           1 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_GBT_12345 );
     976           1 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_GBK );
     977           1 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_BIG5 );
     978             : #endif
     979             : #if WITH_LOCALE_ALL || WITH_LOCALE_ja
     980           1 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_EUC_JP );
     981             : #endif
     982             : #if WITH_LOCALE_ALL || WITH_LOCALE_zh
     983           1 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_EUC_CN );
     984           1 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_EUC_TW );
     985             : #endif
     986             : #if WITH_LOCALE_ALL || WITH_LOCALE_ja
     987           1 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_ISO_2022_JP );
     988             : #endif
     989             : #if WITH_LOCALE_ALL || WITH_LOCALE_zh
     990           1 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_ISO_2022_CN );
     991             : #endif
     992           1 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_KOI8_R );
     993           1 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_UTF7 );
     994           1 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_UTF8 );
     995           1 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_ISO_8859_10 );
     996           1 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_ISO_8859_13 );
     997             : #if WITH_LOCALE_ALL || WITH_LOCALE_ko
     998           1 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_EUC_KR );
     999           1 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_ISO_2022_KR );
    1000             : #endif
    1001             : #if WITH_LOCALE_ALL || WITH_LOCALE_ja
    1002           1 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_JIS_X_0201 );
    1003           1 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_JIS_X_0208 );
    1004           1 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_JIS_X_0212 );
    1005             : #endif
    1006           1 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_MS_1361 );
    1007             : #if WITH_LOCALE_ALL || WITH_LOCALE_zh
    1008           1 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_GB_18030 );
    1009           1 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_BIG5_HKSCS );
    1010             : #endif
    1011           1 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_TIS_620 );
    1012           1 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_KOI8_U );
    1013             : 
    1014           5 :         CPPUNIT_TEST_SUITE_END( );
    1015             :     };
    1016             : 
    1017          57 :     class testBestWindows : public CppUnit::TestFixture
    1018             :     {
    1019             :     public:
    1020          19 :         void setUp() SAL_OVERRIDE
    1021             :             {
    1022          19 :             }
    1023             : 
    1024          19 :         void check(rtl_TextEncoding nIn, rtl_TextEncoding nOut)
    1025             :         {
    1026          19 :             const sal_uInt8 nCharSet = rtl_getBestWindowsCharsetFromTextEncoding(nIn);
    1027          19 :             rtl_TextEncoding eTextEnc = rtl_getTextEncodingFromWindowsCharset(nCharSet);
    1028          19 :             CPPUNIT_ASSERT_MESSAGE("rtl_getBestWindowsCharsetFromTextEncoding && rtl_getTextEncodingFromWindowsCharset differ", eTextEnc == nOut);
    1029          19 :         }
    1030             : 
    1031           1 :         void WindowsCharsetFromTextEncoding_MS_1252()
    1032             :         {
    1033           1 :             check( RTL_TEXTENCODING_MS_1252, RTL_TEXTENCODING_MS_1252 );
    1034           1 :         }
    1035             : 
    1036           1 :         void WindowsCharsetFromTextEncoding_APPLE_ROMAN()
    1037             :         {
    1038           1 :             check( RTL_TEXTENCODING_APPLE_ROMAN, RTL_TEXTENCODING_APPLE_ROMAN );
    1039           1 :         }
    1040             : 
    1041           1 :         void WindowsCharsetFromTextEncoding_IBM_437()
    1042             :         {
    1043           1 :             check( RTL_TEXTENCODING_IBM_437, RTL_TEXTENCODING_MS_1252 );
    1044           1 :         }
    1045             : 
    1046           1 :         void WindowsCharsetFromTextEncoding_IBM_850()
    1047             :         {
    1048           1 :             check( RTL_TEXTENCODING_IBM_850, RTL_TEXTENCODING_MS_1252 );
    1049           1 :         }
    1050             : 
    1051           1 :         void WindowsCharsetFromTextEncoding_IBM_860()
    1052             :         {
    1053           1 :             check( RTL_TEXTENCODING_IBM_860, RTL_TEXTENCODING_MS_1252 );
    1054           1 :         }
    1055             : 
    1056           1 :         void WindowsCharsetFromTextEncoding_IBM_861()
    1057             :         {
    1058           1 :             check( RTL_TEXTENCODING_IBM_861, RTL_TEXTENCODING_MS_1252 );
    1059           1 :         }
    1060             : 
    1061           1 :         void WindowsCharsetFromTextEncoding_IBM_863()
    1062             :         {
    1063           1 :             check( RTL_TEXTENCODING_IBM_863, RTL_TEXTENCODING_MS_1252 );
    1064           1 :         }
    1065             : 
    1066           1 :         void WindowsCharsetFromTextEncoding_IBM_865()
    1067             :         {
    1068           1 :             check( RTL_TEXTENCODING_IBM_865, RTL_TEXTENCODING_MS_1252 );
    1069           1 :         }
    1070             : 
    1071           1 :         void WindowsCharsetFromTextEncoding_SYMBOL()
    1072             :         {
    1073           1 :             check( RTL_TEXTENCODING_SYMBOL, RTL_TEXTENCODING_SYMBOL );
    1074           1 :         }
    1075             : 
    1076           1 :         void WindowsCharsetFromTextEncoding_ASCII_US()
    1077             :         {
    1078           1 :             check( RTL_TEXTENCODING_ASCII_US, RTL_TEXTENCODING_MS_1252 );
    1079           1 :         }
    1080             : 
    1081           1 :         void WindowsCharsetFromTextEncoding_ISO_8859_1()
    1082             :         {
    1083           1 :             check( RTL_TEXTENCODING_ISO_8859_1, RTL_TEXTENCODING_MS_1252 );
    1084           1 :         }
    1085             : #if 0
    1086             :         void WindowsCharsetFromTextEncoding_ISO_8859_2()
    1087             :         {
    1088             :             check( RTL_TEXTENCODING_ISO_8859_2, RTL_TEXTENCODING_MS_1252 );
    1089             :         }
    1090             : #endif
    1091           1 :         void WindowsCharsetFromTextEncoding_ISO_8859_3()
    1092             :         {
    1093           1 :             check( RTL_TEXTENCODING_ISO_8859_3, RTL_TEXTENCODING_MS_1252 );
    1094           1 :         }
    1095             : 
    1096           1 :         void WindowsCharsetFromTextEncoding_ISO_8859_4()
    1097             :         {
    1098           1 :             check( RTL_TEXTENCODING_ISO_8859_4, RTL_TEXTENCODING_MS_1257 );
    1099           1 :         }
    1100             : #if 0
    1101             :         void WindowsCharsetFromTextEncoding_ISO_8859_5()
    1102             :         {
    1103             :             check( RTL_TEXTENCODING_ISO_8859_5, RTL_TEXTENCODING_MS_1252 );
    1104             :         }
    1105             : 
    1106             :         void WindowsCharsetFromTextEncoding_ISO_8859_6()
    1107             :         {
    1108             :             check( RTL_TEXTENCODING_ISO_8859_6, RTL_TEXTENCODING_MS_1252 );
    1109             :         }
    1110             : 
    1111             :         void WindowsCharsetFromTextEncoding_ISO_8859_7()
    1112             :         {
    1113             :             check( RTL_TEXTENCODING_ISO_8859_7, RTL_TEXTENCODING_MS_1252 );
    1114             :         }
    1115             : 
    1116             :         void WindowsCharsetFromTextEncoding_ISO_8859_8()
    1117             :         {
    1118             :             check( RTL_TEXTENCODING_ISO_8859_8, RTL_TEXTENCODING_MS_1252 );
    1119             :         }
    1120             : 
    1121             :         void WindowsCharsetFromTextEncoding_ISO_8859_9()
    1122             :         {
    1123             :             check( RTL_TEXTENCODING_ISO_8859_9, RTL_TEXTENCODING_MS_1252 );
    1124             :         }
    1125             : #endif
    1126           1 :         void WindowsCharsetFromTextEncoding_ISO_8859_14()
    1127             :         {
    1128           1 :             check( RTL_TEXTENCODING_ISO_8859_14, RTL_TEXTENCODING_MS_1252 );
    1129           1 :         }
    1130             : 
    1131           1 :         void WindowsCharsetFromTextEncoding_ISO_8859_15()
    1132             :         {
    1133           1 :             check( RTL_TEXTENCODING_ISO_8859_15, RTL_TEXTENCODING_MS_1252 );
    1134           1 :         }
    1135             : #if 0
    1136             :         void WindowsCharsetFromTextEncoding_IBM_737()
    1137             :         {
    1138             :             check( RTL_TEXTENCODING_IBM_737, RTL_TEXTENCODING_MS_1252 );
    1139             :         }
    1140             : 
    1141             :         void WindowsCharsetFromTextEncoding_IBM_775()
    1142             :         {
    1143             :             check( RTL_TEXTENCODING_IBM_775, RTL_TEXTENCODING_MS_1252 );
    1144             :         }
    1145             : 
    1146             :         void WindowsCharsetFromTextEncoding_IBM_852()
    1147             :         {
    1148             :             check( RTL_TEXTENCODING_IBM_852, RTL_TEXTENCODING_MS_1252 );
    1149             :         }
    1150             : 
    1151             :         void WindowsCharsetFromTextEncoding_IBM_855()
    1152             :         {
    1153             :             check( RTL_TEXTENCODING_IBM_855, RTL_TEXTENCODING_MS_1252 );
    1154             :         }
    1155             : 
    1156             :         void WindowsCharsetFromTextEncoding_IBM_857()
    1157             :         {
    1158             :             check( RTL_TEXTENCODING_IBM_857, RTL_TEXTENCODING_MS_1252 );
    1159             :         }
    1160             : 
    1161             :         void WindowsCharsetFromTextEncoding_IBM_862()
    1162             :         {
    1163             :             check( RTL_TEXTENCODING_IBM_862, RTL_TEXTENCODING_MS_1252 );
    1164             :         }
    1165             : 
    1166             :         void WindowsCharsetFromTextEncoding_IBM_864()
    1167             :         {
    1168             :             check( RTL_TEXTENCODING_IBM_864, RTL_TEXTENCODING_MS_1252 );
    1169             :         }
    1170             : 
    1171             :         void WindowsCharsetFromTextEncoding_IBM_866()
    1172             :         {
    1173             :             check( RTL_TEXTENCODING_IBM_866, RTL_TEXTENCODING_MS_1252 );
    1174             :         }
    1175             : 
    1176             :         void WindowsCharsetFromTextEncoding_IBM_869()
    1177             :         {
    1178             :             check( RTL_TEXTENCODING_IBM_869, RTL_TEXTENCODING_MS_1252 );
    1179             :         }
    1180             : 
    1181             :         void WindowsCharsetFromTextEncoding_MS_874()
    1182             :         {
    1183             :             check( RTL_TEXTENCODING_MS_874, RTL_TEXTENCODING_MS_1252 );
    1184             :         }
    1185             : 
    1186             :         void WindowsCharsetFromTextEncoding_MS_1250()
    1187             :         {
    1188             :             check( RTL_TEXTENCODING_MS_1250, RTL_TEXTENCODING_MS_1252 );
    1189             :         }
    1190             : 
    1191             :         void WindowsCharsetFromTextEncoding_MS_1251()
    1192             :         {
    1193             :             check( RTL_TEXTENCODING_MS_1251, RTL_TEXTENCODING_MS_1252 );
    1194             :         }
    1195             : 
    1196             :         void WindowsCharsetFromTextEncoding_MS_1253()
    1197             :         {
    1198             :             check( RTL_TEXTENCODING_MS_1253, RTL_TEXTENCODING_MS_1252 );
    1199             :         }
    1200             : 
    1201             :         void WindowsCharsetFromTextEncoding_MS_1254()
    1202             :         {
    1203             :             check( RTL_TEXTENCODING_MS_1254, RTL_TEXTENCODING_MS_1252 );
    1204             :         }
    1205             : 
    1206             :         void WindowsCharsetFromTextEncoding_MS_1255()
    1207             :         {
    1208             :             check( RTL_TEXTENCODING_MS_1255, RTL_TEXTENCODING_MS_1252 );
    1209             :         }
    1210             : 
    1211             :         void WindowsCharsetFromTextEncoding_MS_1256()
    1212             :         {
    1213             :             check( RTL_TEXTENCODING_MS_1256, RTL_TEXTENCODING_MS_1252 );
    1214             :         }
    1215             : 
    1216             :         void WindowsCharsetFromTextEncoding_MS_1257()
    1217             :         {
    1218             :             check( RTL_TEXTENCODING_MS_1257, RTL_TEXTENCODING_MS_1252 );
    1219             :         }
    1220             : 
    1221             :         void WindowsCharsetFromTextEncoding_MS_1258()
    1222             :         {
    1223             :             check( RTL_TEXTENCODING_MS_1258, RTL_TEXTENCODING_MS_1252 );
    1224             :         }
    1225             : 
    1226             :         void WindowsCharsetFromTextEncoding_APPLE_ARABIC()
    1227             :         {
    1228             :             check( RTL_TEXTENCODING_APPLE_ARABIC, RTL_TEXTENCODING_MS_1252 );
    1229             :         }
    1230             : 
    1231             :         void WindowsCharsetFromTextEncoding_APPLE_CENTEURO()
    1232             :         {
    1233             :             check( RTL_TEXTENCODING_APPLE_CENTEURO, RTL_TEXTENCODING_MS_1252 );
    1234             :         }
    1235             : 
    1236             :         void WindowsCharsetFromTextEncoding_APPLE_CROATIAN()
    1237             :         {
    1238             :             check( RTL_TEXTENCODING_APPLE_CROATIAN, RTL_TEXTENCODING_MS_1252 );
    1239             :         }
    1240             : 
    1241             :         void WindowsCharsetFromTextEncoding_APPLE_CYRILLIC()
    1242             :         {
    1243             :             check( RTL_TEXTENCODING_APPLE_CYRILLIC, RTL_TEXTENCODING_MS_1252 );
    1244             :         }
    1245             : 
    1246             :         void WindowsCharsetFromTextEncoding_APPLE_DEVANAGARI()
    1247             :         {
    1248             :             check( RTL_TEXTENCODING_APPLE_DEVANAGARI, RTL_TEXTENCODING_MS_1252 );
    1249             :         }
    1250             : 
    1251             :         void WindowsCharsetFromTextEncoding_APPLE_FARSI()
    1252             :         {
    1253             :             check( RTL_TEXTENCODING_APPLE_FARSI, RTL_TEXTENCODING_MS_1252 );
    1254             :         }
    1255             : 
    1256             :         void WindowsCharsetFromTextEncoding_APPLE_GREEK()
    1257             :         {
    1258             :             check( RTL_TEXTENCODING_APPLE_GREEK, RTL_TEXTENCODING_MS_1252 );
    1259             :         }
    1260             : 
    1261             :         void WindowsCharsetFromTextEncoding_APPLE_GUJARATI()
    1262             :         {
    1263             :             check( RTL_TEXTENCODING_APPLE_GUJARATI, RTL_TEXTENCODING_MS_1252 );
    1264             :         }
    1265             : 
    1266             :         void WindowsCharsetFromTextEncoding_APPLE_GURMUKHI()
    1267             :         {
    1268             :             check( RTL_TEXTENCODING_APPLE_GURMUKHI, RTL_TEXTENCODING_MS_1252 );
    1269             :         }
    1270             : 
    1271             :         void WindowsCharsetFromTextEncoding_APPLE_HEBREW()
    1272             :         {
    1273             :             check( RTL_TEXTENCODING_APPLE_HEBREW, RTL_TEXTENCODING_MS_1252 );
    1274             :         }
    1275             : #endif
    1276           1 :         void WindowsCharsetFromTextEncoding_APPLE_ICELAND()
    1277             :         {
    1278           1 :             check( RTL_TEXTENCODING_APPLE_ICELAND, RTL_TEXTENCODING_MS_1252 );
    1279           1 :         }
    1280             : #if 0
    1281             :         void WindowsCharsetFromTextEncoding_APPLE_ROMANIAN()
    1282             :         {
    1283             :             check( RTL_TEXTENCODING_APPLE_ROMANIAN, RTL_TEXTENCODING_MS_1252 );
    1284             :         }
    1285             : 
    1286             :         void WindowsCharsetFromTextEncoding_APPLE_THAI()
    1287             :         {
    1288             :             check( RTL_TEXTENCODING_APPLE_THAI, RTL_TEXTENCODING_MS_1252 );
    1289             :         }
    1290             : 
    1291             :         void WindowsCharsetFromTextEncoding_APPLE_TURKISH()
    1292             :         {
    1293             :             check( RTL_TEXTENCODING_APPLE_TURKISH, RTL_TEXTENCODING_MS_1252 );
    1294             :         }
    1295             : 
    1296             :         void WindowsCharsetFromTextEncoding_APPLE_UKRAINIAN()
    1297             :         {
    1298             :             check( RTL_TEXTENCODING_APPLE_UKRAINIAN, RTL_TEXTENCODING_MS_1252 );
    1299             :         }
    1300             : 
    1301             :         void WindowsCharsetFromTextEncoding_APPLE_CHINSIMP()
    1302             :         {
    1303             :             check( RTL_TEXTENCODING_APPLE_CHINSIMP, RTL_TEXTENCODING_MS_1252 );
    1304             :         }
    1305             : 
    1306             :         void WindowsCharsetFromTextEncoding_APPLE_CHINTRAD()
    1307             :         {
    1308             :             check( RTL_TEXTENCODING_APPLE_CHINTRAD, RTL_TEXTENCODING_MS_1252 );
    1309             :         }
    1310             : 
    1311             :         void WindowsCharsetFromTextEncoding_APPLE_JAPANESE()
    1312             :         {
    1313             :             check( RTL_TEXTENCODING_APPLE_JAPANESE, RTL_TEXTENCODING_MS_1252 );
    1314             :         }
    1315             : 
    1316             :         void WindowsCharsetFromTextEncoding_APPLE_KOREAN()
    1317             :         {
    1318             :             check( RTL_TEXTENCODING_APPLE_KOREAN, RTL_TEXTENCODING_MS_1252 );
    1319             :         }
    1320             : 
    1321             :         void WindowsCharsetFromTextEncoding_MS_932()
    1322             :         {
    1323             :             check( RTL_TEXTENCODING_MS_932, RTL_TEXTENCODING_MS_1252 );
    1324             :         }
    1325             : 
    1326             :         void WindowsCharsetFromTextEncoding_MS_936()
    1327             :         {
    1328             :             check( RTL_TEXTENCODING_MS_936, RTL_TEXTENCODING_MS_1252 );
    1329             :         }
    1330             : 
    1331             :         void WindowsCharsetFromTextEncoding_MS_949()
    1332             :         {
    1333             :             check( RTL_TEXTENCODING_MS_949, RTL_TEXTENCODING_MS_1252 );
    1334             :         }
    1335             : 
    1336             :         void WindowsCharsetFromTextEncoding_MS_950()
    1337             :         {
    1338             :             check( RTL_TEXTENCODING_MS_950, RTL_TEXTENCODING_MS_1252 );
    1339             :         }
    1340             : 
    1341             :         void WindowsCharsetFromTextEncoding_SHIFT_JIS()
    1342             :         {
    1343             :             check( RTL_TEXTENCODING_SHIFT_JIS, RTL_TEXTENCODING_MS_1252 );
    1344             :         }
    1345             : 
    1346             :         void WindowsCharsetFromTextEncoding_GB_2312()
    1347             :         {
    1348             :             check( RTL_TEXTENCODING_GB_2312, RTL_TEXTENCODING_MS_1252 );
    1349             :         }
    1350             : 
    1351             :         void WindowsCharsetFromTextEncoding_GBT_12345()
    1352             :         {
    1353             :             check( RTL_TEXTENCODING_GBT_12345, RTL_TEXTENCODING_MS_1252 );
    1354             :         }
    1355             : 
    1356             :         void WindowsCharsetFromTextEncoding_GBK()
    1357             :         {
    1358             :             check( RTL_TEXTENCODING_GBK, RTL_TEXTENCODING_MS_1252 );
    1359             :         }
    1360             : 
    1361             :         void WindowsCharsetFromTextEncoding_BIG5()
    1362             :         {
    1363             :             check( RTL_TEXTENCODING_BIG5, RTL_TEXTENCODING_MS_1252 );
    1364             :         }
    1365             : 
    1366             :         void WindowsCharsetFromTextEncoding_EUC_JP()
    1367             :         {
    1368             :             check( RTL_TEXTENCODING_EUC_JP, RTL_TEXTENCODING_MS_1252 );
    1369             :         }
    1370             : 
    1371             :         void WindowsCharsetFromTextEncoding_EUC_CN()
    1372             :         {
    1373             :             check( RTL_TEXTENCODING_EUC_CN, RTL_TEXTENCODING_MS_1252 );
    1374             :         }
    1375             : 
    1376             :         void WindowsCharsetFromTextEncoding_EUC_TW()
    1377             :         {
    1378             :             check( RTL_TEXTENCODING_EUC_TW, RTL_TEXTENCODING_MS_1252 );
    1379             :         }
    1380             : 
    1381             :         void WindowsCharsetFromTextEncoding_ISO_2022_JP()
    1382             :         {
    1383             :             check( RTL_TEXTENCODING_ISO_2022_JP, RTL_TEXTENCODING_MS_1252 );
    1384             :         }
    1385             : 
    1386             :         void WindowsCharsetFromTextEncoding_ISO_2022_CN()
    1387             :         {
    1388             :             check( RTL_TEXTENCODING_ISO_2022_CN, RTL_TEXTENCODING_MS_1252 );
    1389             :         }
    1390             : 
    1391             :         void WindowsCharsetFromTextEncoding_KOI8_R()
    1392             :         {
    1393             :             check( RTL_TEXTENCODING_KOI8_R, RTL_TEXTENCODING_MS_1252 );
    1394             :         }
    1395             : #endif
    1396           1 :         void WindowsCharsetFromTextEncoding_UTF7()
    1397             :         {
    1398           1 :             check( RTL_TEXTENCODING_UTF7, RTL_TEXTENCODING_MS_1252 );
    1399           1 :         }
    1400             : 
    1401           1 :         void WindowsCharsetFromTextEncoding_UTF8()
    1402             :         {
    1403           1 :             check( RTL_TEXTENCODING_UTF8, RTL_TEXTENCODING_MS_1252 );
    1404           1 :         }
    1405             : #if 0
    1406             :         void WindowsCharsetFromTextEncoding_ISO_8859_10()
    1407             :         {
    1408             :             check( RTL_TEXTENCODING_ISO_8859_10, RTL_TEXTENCODING_MS_1252 );
    1409             :         }
    1410             : 
    1411             :         void WindowsCharsetFromTextEncoding_ISO_8859_13()
    1412             :         {
    1413             :             check( RTL_TEXTENCODING_ISO_8859_13, RTL_TEXTENCODING_MS_1252 );
    1414             :         }
    1415             : 
    1416             :         void WindowsCharsetFromTextEncoding_EUC_KR()
    1417             :         {
    1418             :             check( RTL_TEXTENCODING_EUC_KR, RTL_TEXTENCODING_MS_1252 );
    1419             :         }
    1420             : 
    1421             :         void WindowsCharsetFromTextEncoding_ISO_2022_KR()
    1422             :         {
    1423             :             check( RTL_TEXTENCODING_ISO_2022_KR, RTL_TEXTENCODING_MS_1252 );
    1424             :         }
    1425             : 
    1426             :         void WindowsCharsetFromTextEncoding_JIS_X_0201()
    1427             :         {
    1428             :             check( RTL_TEXTENCODING_JIS_X_0201, RTL_TEXTENCODING_MS_1252 );
    1429             :         }
    1430             : 
    1431             :         void WindowsCharsetFromTextEncoding_JIS_X_0208()
    1432             :         {
    1433             :             check( RTL_TEXTENCODING_JIS_X_0208, RTL_TEXTENCODING_MS_1252 );
    1434             :         }
    1435             : 
    1436             :         void WindowsCharsetFromTextEncoding_JIS_X_0212()
    1437             :         {
    1438             :             check( RTL_TEXTENCODING_JIS_X_0212, RTL_TEXTENCODING_MS_1252 );
    1439             :         }
    1440             : 
    1441             :         void WindowsCharsetFromTextEncoding_MS_1361()
    1442             :         {
    1443             :             check( RTL_TEXTENCODING_MS_1361, RTL_TEXTENCODING_MS_1252 );
    1444             :         }
    1445             : 
    1446             :         void WindowsCharsetFromTextEncoding_GB_18030()
    1447             :         {
    1448             :             check( RTL_TEXTENCODING_GB_18030, RTL_TEXTENCODING_MS_1252 );
    1449             :         }
    1450             : 
    1451             :         void WindowsCharsetFromTextEncoding_BIG5_HKSCS()
    1452             :         {
    1453             :             check( RTL_TEXTENCODING_BIG5_HKSCS, RTL_TEXTENCODING_MS_1252 );
    1454             :         }
    1455             : 
    1456             :         void WindowsCharsetFromTextEncoding_TIS_620()
    1457             :         {
    1458             :             check( RTL_TEXTENCODING_TIS_620, RTL_TEXTENCODING_MS_1252 );
    1459             :         }
    1460             : 
    1461             :         void WindowsCharsetFromTextEncoding_KOI8_U()
    1462             :         {
    1463             :             check( RTL_TEXTENCODING_KOI8_U, RTL_TEXTENCODING_MS_1252 );
    1464             :         }
    1465             : 
    1466             :         void WindowsCharsetFromTextEncoding_ISCII_DEVANAGARI()
    1467             :         {
    1468             :             check( RTL_TEXTENCODING_ISCII_DEVANAGARI, RTL_TEXTENCODING_MS_1252 );
    1469             :         }
    1470             : #endif
    1471           1 :         void WindowsCharsetFromTextEncoding_JAVA_UTF8()
    1472             :         {
    1473           1 :             check( RTL_TEXTENCODING_JAVA_UTF8, RTL_TEXTENCODING_MS_1252 );
    1474           1 :         }
    1475             : 
    1476           2 :         CPPUNIT_TEST_SUITE( testBestWindows );
    1477           1 :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_MS_1252 );
    1478           1 :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_APPLE_ROMAN );
    1479           1 :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_IBM_437 );
    1480           1 :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_IBM_850 );
    1481           1 :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_IBM_860 );
    1482           1 :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_IBM_861 );
    1483           1 :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_IBM_863 );
    1484           1 :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_IBM_865 );
    1485           1 :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_SYMBOL );
    1486           1 :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_ASCII_US );
    1487           1 :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_ISO_8859_1 );
    1488             : #if 0
    1489             :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_ISO_8859_2 );
    1490             : #endif
    1491           1 :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_ISO_8859_3 );
    1492           1 :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_ISO_8859_4 );
    1493             : #if 0
    1494             :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_ISO_8859_5 );
    1495             :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_ISO_8859_6 );
    1496             :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_ISO_8859_7 );
    1497             :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_ISO_8859_8 );
    1498             :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_ISO_8859_9 );
    1499             : #endif
    1500           1 :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_ISO_8859_14 );
    1501           1 :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_ISO_8859_15 );
    1502             : #if 0
    1503             :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_IBM_737 );
    1504             :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_IBM_775 );
    1505             :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_IBM_852 );
    1506             :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_IBM_855 );
    1507             :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_IBM_857 );
    1508             :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_IBM_862 );
    1509             :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_IBM_864 );
    1510             :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_IBM_866 );
    1511             :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_IBM_869 );
    1512             :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_MS_874 );
    1513             :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_MS_1250 );
    1514             :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_MS_1251 );
    1515             :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_MS_1253 );
    1516             :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_MS_1254 );
    1517             :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_MS_1255 );
    1518             :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_MS_1256 );
    1519             :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_MS_1257 );
    1520             :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_MS_1258 );
    1521             :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_APPLE_ARABIC );
    1522             :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_APPLE_CENTEURO );
    1523             :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_APPLE_CROATIAN );
    1524             :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_APPLE_CYRILLIC );
    1525             :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_APPLE_DEVANAGARI );
    1526             :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_APPLE_FARSI );
    1527             :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_APPLE_GREEK );
    1528             :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_APPLE_GUJARATI );
    1529             :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_APPLE_GURMUKHI );
    1530             :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_APPLE_HEBREW );
    1531             : #endif
    1532           1 :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_APPLE_ICELAND );
    1533             : #if 0
    1534             :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_APPLE_ROMANIAN );
    1535             :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_APPLE_THAI );
    1536             :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_APPLE_TURKISH );
    1537             :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_APPLE_UKRAINIAN );
    1538             :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_APPLE_CHINSIMP );
    1539             :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_APPLE_CHINTRAD );
    1540             :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_APPLE_JAPANESE );
    1541             :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_APPLE_KOREAN );
    1542             :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_MS_932 );
    1543             :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_MS_936 );
    1544             :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_MS_949 );
    1545             :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_MS_950 );
    1546             :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_SHIFT_JIS );
    1547             :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_GB_2312 );
    1548             :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_GBT_12345 );
    1549             :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_GBK );
    1550             :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_BIG5 );
    1551             :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_EUC_JP );
    1552             :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_EUC_CN );
    1553             :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_EUC_TW );
    1554             :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_ISO_2022_JP );
    1555             :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_ISO_2022_CN );
    1556             :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_KOI8_R );
    1557             : #endif
    1558           1 :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_UTF7 );
    1559           1 :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_UTF8 );
    1560             : #if 0
    1561             :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_ISO_8859_10 );
    1562             :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_ISO_8859_13 );
    1563             :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_EUC_KR );
    1564             :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_ISO_2022_KR );
    1565             :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_JIS_X_0201 );
    1566             :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_JIS_X_0208 );
    1567             :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_JIS_X_0212 );
    1568             :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_MS_1361 );
    1569             :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_GB_18030 );
    1570             :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_BIG5_HKSCS );
    1571             :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_TIS_620 );
    1572             :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_KOI8_U );
    1573             :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_ISCII_DEVANAGARI );
    1574             : #endif
    1575           1 :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_JAVA_UTF8 );
    1576             : 
    1577           5 :         CPPUNIT_TEST_SUITE_END( );
    1578             :     };
    1579             : 
    1580           3 :     class testTextEncodingInfo: public CppUnit::TestFixture
    1581             :     {
    1582             :     public:
    1583             :         // initialise your test code values here.
    1584           1 :         void setUp() SAL_OVERRIDE
    1585             :             {
    1586           1 :             }
    1587             : 
    1588           1 :         void tearDown() SAL_OVERRIDE
    1589             :             {
    1590           1 :             }
    1591             : 
    1592             :         // not implemented encoding test
    1593           1 :         void testTextEncodingInfo_001()
    1594             :             {
    1595             :                 rtl_TextEncodingInfo aInfo1, aInfo2, aInfo3, aInfo4, aInfo5;
    1596           1 :                 aInfo1.StructSize = 4;
    1597             :                 // not implemented
    1598           1 :                 bool bRes1 = rtl_getTextEncodingInfo( RTL_TEXTENCODING_APPLE_ARABIC, &aInfo1 );
    1599             :                 // implemented
    1600           1 :                 bool bRes11 = rtl_getTextEncodingInfo( RTL_TEXTENCODING_APPLE_CYRILLIC, &aInfo1 );
    1601           1 :                 CPPUNIT_ASSERT_MESSAGE("should return sal_False.", !bRes1 && !bRes11);
    1602             : 
    1603           1 :                 aInfo2.StructSize = 5;
    1604           1 :                 bool bRes2 = rtl_getTextEncodingInfo( RTL_TEXTENCODING_APPLE_ARABIC, &aInfo2 );
    1605           1 :                 bool bRes21 = rtl_getTextEncodingInfo( RTL_TEXTENCODING_APPLE_CYRILLIC, &aInfo2 );
    1606           1 :                 CPPUNIT_ASSERT_MESSAGE("StructSize<6 should return sal_True", bRes2 && bRes21 && aInfo2.MinimumCharSize >=1 );
    1607             : 
    1608           1 :                 aInfo3.StructSize = 6;
    1609           1 :                 bool bRes3 = rtl_getTextEncodingInfo( RTL_TEXTENCODING_APPLE_ARABIC, &aInfo3 );
    1610           1 :                 bool bRes31 = rtl_getTextEncodingInfo( RTL_TEXTENCODING_APPLE_CYRILLIC, &aInfo3 );
    1611           1 :                 CPPUNIT_ASSERT_MESSAGE("StructSize<6 should return sal_True", bRes3 && bRes31);
    1612             : //&& aInfo2.MinimumCharSize >=1 );
    1613             : 
    1614           1 :                 aInfo4.StructSize = 8;
    1615           1 :                 bool bRes4 = rtl_getTextEncodingInfo( RTL_TEXTENCODING_APPLE_ARABIC, &aInfo4 );
    1616           1 :                 bool bRes41 = rtl_getTextEncodingInfo( RTL_TEXTENCODING_APPLE_CYRILLIC, &aInfo4);
    1617           1 :                CPPUNIT_ASSERT_MESSAGE("StructSize<6 should return sal_True", bRes4 && bRes41);
    1618             : // && aInfo2.MinimumCharSize >=1 );
    1619             : 
    1620           1 :         aInfo5.StructSize = sizeof aInfo5;
    1621           1 :                 bool bRes5 = rtl_getTextEncodingInfo( RTL_TEXTENCODING_APPLE_ARABIC, &aInfo5 );
    1622           1 :                 CPPUNIT_ASSERT_MESSAGE("StructSize<6 should return sal_True", !bRes5 && aInfo5.Flags == 0);
    1623             : 
    1624           1 :             }
    1625           2 :         CPPUNIT_TEST_SUITE(testTextEncodingInfo);
    1626           1 :         CPPUNIT_TEST(testTextEncodingInfo_001);
    1627           5 :         CPPUNIT_TEST_SUITE_END();
    1628             :     };
    1629             : 
    1630           6 :     class testEncodingFromUnix: public CppUnit::TestFixture
    1631             :     {
    1632             :     public:
    1633           1 :         void testIso8859() {
    1634           1 :             check(RTL_TEXTENCODING_DONTKNOW, "ISO8859");
    1635           1 :             check(RTL_TEXTENCODING_DONTKNOW, "ISO8859-0");
    1636           1 :             check(RTL_TEXTENCODING_DONTKNOW, "ISO8859-01");
    1637           1 :             check(RTL_TEXTENCODING_DONTKNOW, "ISO8859_1");
    1638           1 :             check(RTL_TEXTENCODING_DONTKNOW, "ISO88591");
    1639           1 :             check(RTL_TEXTENCODING_ISO_8859_1, "ISO8859-1");
    1640           1 :             check(RTL_TEXTENCODING_ISO_8859_2, "ISO8859-2");
    1641           1 :             check(RTL_TEXTENCODING_ISO_8859_3, "ISO8859-3");
    1642           1 :             check(RTL_TEXTENCODING_ISO_8859_4, "ISO8859-4");
    1643           1 :             check(RTL_TEXTENCODING_ISO_8859_5, "ISO8859-5");
    1644           1 :             check(RTL_TEXTENCODING_ISO_8859_6, "ISO8859-6");
    1645           1 :             check(RTL_TEXTENCODING_ISO_8859_7, "ISO8859-7");
    1646           1 :             check(RTL_TEXTENCODING_ISO_8859_8, "ISO8859-8");
    1647           1 :             check(RTL_TEXTENCODING_ISO_8859_9, "ISO8859-9");
    1648           1 :             check(RTL_TEXTENCODING_ISO_8859_10, "ISO8859-10");
    1649           1 :             check(RTL_TEXTENCODING_TIS_620, "ISO8859-11");
    1650           1 :             check(RTL_TEXTENCODING_ISO_8859_13, "ISO8859-13");
    1651           1 :             check(RTL_TEXTENCODING_ISO_8859_14, "ISO8859-14");
    1652           1 :             check(RTL_TEXTENCODING_ISO_8859_15, "ISO8859-15");
    1653           1 :         }
    1654             : 
    1655           1 :         void testTis620() {
    1656           1 :             check(RTL_TEXTENCODING_DONTKNOW, "TIS620");
    1657           1 :             check(RTL_TEXTENCODING_TIS_620, "TIS620-0");
    1658           1 :             check(RTL_TEXTENCODING_DONTKNOW, "TIS620-1");
    1659           1 :             check(RTL_TEXTENCODING_TIS_620, "TIS620-2529");
    1660           1 :             check(RTL_TEXTENCODING_TIS_620, "TIS620-2533");
    1661           1 :             check(RTL_TEXTENCODING_DONTKNOW, "TIS620.2529-0");
    1662           1 :             check(RTL_TEXTENCODING_TIS_620, "TIS620.2529-1");
    1663           1 :             check(RTL_TEXTENCODING_DONTKNOW, "TIS620.2529-2");
    1664           1 :             check(RTL_TEXTENCODING_TIS_620, "TIS620.2533-0");
    1665           1 :             check(RTL_TEXTENCODING_TIS_620, "TIS620.2533-1");
    1666           1 :             check(RTL_TEXTENCODING_DONTKNOW, "TIS620.2533-2");
    1667           1 :         }
    1668             : 
    1669           2 :         CPPUNIT_TEST_SUITE(testEncodingFromUnix);
    1670           1 :         CPPUNIT_TEST(testIso8859);
    1671           1 :         CPPUNIT_TEST(testTis620);
    1672           5 :         CPPUNIT_TEST_SUITE_END();
    1673             : 
    1674             :     private:
    1675          30 :         void check(rtl_TextEncoding expected, char const * input) {
    1676          60 :             CPPUNIT_ASSERT_EQUAL_MESSAGE(
    1677          30 :                 input, expected, rtl_getTextEncodingFromUnixCharset(input));
    1678          30 :         }
    1679             :     };
    1680             : 
    1681             : }
    1682             : 
    1683           1 : CPPUNIT_TEST_SUITE_REGISTRATION(testBestMime);
    1684           1 : CPPUNIT_TEST_SUITE_REGISTRATION(testBestUnix);
    1685           1 : CPPUNIT_TEST_SUITE_REGISTRATION(testBestWindows);
    1686           1 : CPPUNIT_TEST_SUITE_REGISTRATION(testTextEncodingInfo);
    1687           1 : CPPUNIT_TEST_SUITE_REGISTRATION(testEncodingFromUnix);
    1688             : 
    1689           4 : CPPUNIT_PLUGIN_IMPLEMENT();
    1690             : 
    1691             : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */

Generated by: LCOV version 1.11