LCOV - code coverage report
Current view: top level - sal/qa/rtl/textenc - rtl_tencinfo.cxx (source / functions) Hit Total Coverage
Test: commit 10e77ab3ff6f4314137acd6e2702a6e5c1ce1fae Lines: 828 828 100.0 %
Date: 2014-11-03 Functions: 225 226 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         486 :     class testBestMime : public CppUnit::TestFixture
      34             :     {
      35             :     public:
      36         162 :         void setUp() SAL_OVERRIDE
      37             :         {
      38         162 :         }
      39             : 
      40         162 :         void check(rtl_TextEncoding eIn, rtl_TextEncoding eOut)
      41             :         {
      42         162 :             const sal_Char *pCharSet = rtl_getBestMimeCharsetFromTextEncoding(eIn);
      43         162 :             rtl_TextEncoding eTextEnc = rtl_getTextEncodingFromMimeCharset(pCharSet);
      44         162 :             CPPUNIT_ASSERT_MESSAGE("rtl_getBestMimeCharsetFromTextEncoding && rtl_getTextEncodingFromMimeCharset differdiffer", eTextEnc == eOut);
      45         162 :         }
      46             : 
      47             :         // the defines for the follows test could be found in file inc/rtl/textenc.h
      48             : 
      49           2 :         void MimeCharsetFromTextEncoding_MS_1252()
      50             :         {
      51           2 :             check( RTL_TEXTENCODING_MS_1252, RTL_TEXTENCODING_MS_1252 );
      52           2 :         }
      53             : 
      54           2 :         void MimeCharsetFromTextEncoding_APPLE_ROMAN()
      55             :         {
      56           2 :             check( RTL_TEXTENCODING_APPLE_ROMAN, RTL_TEXTENCODING_APPLE_ROMAN);
      57           2 :         }
      58             : 
      59           2 :         void MimeCharsetFromTextEncoding_IBM_437()
      60             :         {
      61           2 :             check( RTL_TEXTENCODING_IBM_437, RTL_TEXTENCODING_IBM_437 );
      62           2 :         }
      63             : 
      64           2 :         void MimeCharsetFromTextEncoding_IBM_850()
      65             :         {
      66           2 :             check( RTL_TEXTENCODING_IBM_850, RTL_TEXTENCODING_IBM_850 );
      67           2 :         }
      68             : 
      69           2 :         void MimeCharsetFromTextEncoding_IBM_860()
      70             :         {
      71           2 :             check( RTL_TEXTENCODING_IBM_860, RTL_TEXTENCODING_IBM_860 );
      72           2 :         }
      73             : 
      74           2 :         void MimeCharsetFromTextEncoding_IBM_861()
      75             :         {
      76           2 :             check( RTL_TEXTENCODING_IBM_861, RTL_TEXTENCODING_IBM_861 );
      77           2 :         }
      78             : 
      79           2 :         void MimeCharsetFromTextEncoding_IBM_863()
      80             :         {
      81           2 :             check( RTL_TEXTENCODING_IBM_863, RTL_TEXTENCODING_IBM_863 );
      82           2 :         }
      83             : 
      84           2 :         void MimeCharsetFromTextEncoding_IBM_865()
      85             :         {
      86           2 :             check( RTL_TEXTENCODING_IBM_865, RTL_TEXTENCODING_IBM_865 );
      87           2 :         }
      88             : 
      89           2 :         void MimeCharsetFromTextEncoding_SYMBOL()
      90             :         {
      91           2 :             check( RTL_TEXTENCODING_SYMBOL, RTL_TEXTENCODING_DONTKNOW );
      92           2 :         }
      93             : 
      94           2 :         void MimeCharsetFromTextEncoding_ASCII_US()
      95             :         {
      96           2 :             check( RTL_TEXTENCODING_ASCII_US, RTL_TEXTENCODING_ASCII_US );
      97           2 :         }
      98             : 
      99           2 :         void MimeCharsetFromTextEncoding_ISO_8859_1()
     100             :         {
     101           2 :             check( RTL_TEXTENCODING_ISO_8859_1, RTL_TEXTENCODING_ISO_8859_1 );
     102           2 :         }
     103           2 :         void MimeCharsetFromTextEncoding_ISO_8859_2()
     104             :         {
     105           2 :             check( RTL_TEXTENCODING_ISO_8859_2, RTL_TEXTENCODING_ISO_8859_2 );
     106           2 :         }
     107           2 :         void MimeCharsetFromTextEncoding_ISO_8859_3()
     108             :         {
     109           2 :             check( RTL_TEXTENCODING_ISO_8859_3, RTL_TEXTENCODING_ISO_8859_3 );
     110           2 :         }
     111           2 :         void MimeCharsetFromTextEncoding_ISO_8859_4()
     112             :         {
     113           2 :             check( RTL_TEXTENCODING_ISO_8859_4, RTL_TEXTENCODING_ISO_8859_4 );
     114           2 :         }
     115           2 :         void MimeCharsetFromTextEncoding_ISO_8859_5()
     116             :         {
     117           2 :             check( RTL_TEXTENCODING_ISO_8859_5, RTL_TEXTENCODING_ISO_8859_5 );
     118           2 :         }
     119           2 :         void MimeCharsetFromTextEncoding_ISO_8859_6()
     120             :         {
     121           2 :             check( RTL_TEXTENCODING_ISO_8859_6, RTL_TEXTENCODING_ISO_8859_6 );
     122           2 :         }
     123           2 :         void MimeCharsetFromTextEncoding_ISO_8859_7()
     124             :         {
     125           2 :             check( RTL_TEXTENCODING_ISO_8859_7, RTL_TEXTENCODING_ISO_8859_7 );
     126           2 :         }
     127           2 :         void MimeCharsetFromTextEncoding_ISO_8859_8()
     128             :         {
     129           2 :             check( RTL_TEXTENCODING_ISO_8859_8, RTL_TEXTENCODING_ISO_8859_8 );
     130           2 :         }
     131           2 :         void MimeCharsetFromTextEncoding_ISO_8859_9()
     132             :         {
     133           2 :             check( RTL_TEXTENCODING_ISO_8859_9, RTL_TEXTENCODING_ISO_8859_9 );
     134           2 :         }
     135           2 :         void MimeCharsetFromTextEncoding_ISO_8859_14()
     136             :         {
     137           2 :             check( RTL_TEXTENCODING_ISO_8859_14, RTL_TEXTENCODING_ISO_8859_14 );
     138           2 :         }
     139           2 :         void MimeCharsetFromTextEncoding_ISO_8859_15()
     140             :         {
     141           2 :             check( RTL_TEXTENCODING_ISO_8859_15, RTL_TEXTENCODING_ISO_8859_15 );
     142           2 :         }
     143           2 :         void MimeCharsetFromTextEncoding_IBM_737()
     144             :         {
     145           2 :             check( RTL_TEXTENCODING_IBM_737, RTL_TEXTENCODING_ISO_8859_7 );
     146           2 :         }
     147           2 :         void MimeCharsetFromTextEncoding_IBM_775()
     148             :         {
     149           2 :             check( RTL_TEXTENCODING_IBM_775, RTL_TEXTENCODING_ISO_8859_4 );
     150           2 :         }
     151           2 :         void MimeCharsetFromTextEncoding_IBM_852()
     152             :         {
     153           2 :             check( RTL_TEXTENCODING_IBM_852, RTL_TEXTENCODING_IBM_852 );
     154           2 :         }
     155           2 :         void MimeCharsetFromTextEncoding_IBM_855()
     156             :         {
     157           2 :             check( RTL_TEXTENCODING_IBM_855, RTL_TEXTENCODING_ISO_8859_5 );
     158           2 :         }
     159           2 :         void MimeCharsetFromTextEncoding_IBM_857()
     160             :         {
     161           2 :             check( RTL_TEXTENCODING_IBM_857, RTL_TEXTENCODING_ISO_8859_9 );
     162           2 :         }
     163           2 :         void MimeCharsetFromTextEncoding_IBM_862()
     164             :         {
     165           2 :             check( RTL_TEXTENCODING_IBM_862, RTL_TEXTENCODING_IBM_862 );
     166           2 :         }
     167           2 :         void MimeCharsetFromTextEncoding_IBM_864()
     168             :         {
     169           2 :             check( RTL_TEXTENCODING_IBM_864, RTL_TEXTENCODING_IBM_864 );
     170           2 :         }
     171           2 :         void MimeCharsetFromTextEncoding_IBM_866()
     172             :         {
     173           2 :             check( RTL_TEXTENCODING_IBM_866, RTL_TEXTENCODING_IBM_866 );
     174           2 :         }
     175           2 :         void MimeCharsetFromTextEncoding_IBM_869()
     176             :         {
     177           2 :             check( RTL_TEXTENCODING_IBM_869, RTL_TEXTENCODING_ISO_8859_7 );
     178           2 :         }
     179           2 :         void MimeCharsetFromTextEncoding_MS_874()
     180             :         {
     181           2 :             check( RTL_TEXTENCODING_MS_874, RTL_TEXTENCODING_MS_874 );
     182           2 :         }
     183           2 :         void MimeCharsetFromTextEncoding_MS_1250()
     184             :         {
     185           2 :             check( RTL_TEXTENCODING_MS_1250, RTL_TEXTENCODING_MS_1250 );
     186           2 :         }
     187           2 :         void MimeCharsetFromTextEncoding_MS_1251()
     188             :         {
     189           2 :             check( RTL_TEXTENCODING_MS_1251, RTL_TEXTENCODING_MS_1251 );
     190           2 :         }
     191           2 :         void MimeCharsetFromTextEncoding_MS_1253()
     192             :         {
     193           2 :             check( RTL_TEXTENCODING_MS_1253, RTL_TEXTENCODING_MS_1253 );
     194           2 :         }
     195           2 :         void MimeCharsetFromTextEncoding_MS_1254()
     196             :         {
     197           2 :             check( RTL_TEXTENCODING_MS_1254, RTL_TEXTENCODING_MS_1254 );
     198           2 :         }
     199           2 :         void MimeCharsetFromTextEncoding_MS_1255()
     200             :         {
     201           2 :             check( RTL_TEXTENCODING_MS_1255, RTL_TEXTENCODING_MS_1255 );
     202           2 :         }
     203           2 :         void MimeCharsetFromTextEncoding_MS_1256()
     204             :         {
     205           2 :             check( RTL_TEXTENCODING_MS_1256, RTL_TEXTENCODING_MS_1256 );
     206           2 :         }
     207           2 :         void MimeCharsetFromTextEncoding_MS_1257()
     208             :         {
     209           2 :             check( RTL_TEXTENCODING_MS_1257, RTL_TEXTENCODING_MS_1257 );
     210           2 :         }
     211           2 :         void MimeCharsetFromTextEncoding_MS_1258()
     212             :         {
     213           2 :             check( RTL_TEXTENCODING_MS_1258, RTL_TEXTENCODING_MS_1258 );
     214           2 :         }
     215           2 :         void MimeCharsetFromTextEncoding_APPLE_CENTEURO()
     216             :         {
     217           2 :             check( RTL_TEXTENCODING_APPLE_CENTEURO, RTL_TEXTENCODING_ISO_8859_2 );
     218           2 :         }
     219           2 :         void MimeCharsetFromTextEncoding_APPLE_CROATIAN()
     220             :         {
     221           2 :             check( RTL_TEXTENCODING_APPLE_CROATIAN, RTL_TEXTENCODING_ISO_8859_2 );
     222           2 :         }
     223           2 :         void MimeCharsetFromTextEncoding_APPLE_CYRILLIC()
     224             :         {
     225           2 :             check( RTL_TEXTENCODING_APPLE_CYRILLIC, RTL_TEXTENCODING_ISO_8859_5 );
     226           2 :         }
     227           2 :         void MimeCharsetFromTextEncoding_APPLE_GREEK()
     228             :         {
     229           2 :             check( RTL_TEXTENCODING_APPLE_GREEK, RTL_TEXTENCODING_ISO_8859_7 );
     230           2 :         }
     231           2 :         void MimeCharsetFromTextEncoding_APPLE_ICELAND()
     232             :         {
     233           2 :             check( RTL_TEXTENCODING_APPLE_ICELAND, RTL_TEXTENCODING_ISO_8859_1 );
     234           2 :         }
     235           2 :         void MimeCharsetFromTextEncoding_APPLE_ROMANIAN()
     236             :         {
     237           2 :             check( RTL_TEXTENCODING_APPLE_ROMANIAN, RTL_TEXTENCODING_ISO_8859_2 );
     238           2 :         }
     239           2 :         void MimeCharsetFromTextEncoding_APPLE_TURKISH()
     240             :         {
     241           2 :             check( RTL_TEXTENCODING_APPLE_TURKISH, RTL_TEXTENCODING_ISO_8859_9 );
     242           2 :         }
     243           2 :         void MimeCharsetFromTextEncoding_APPLE_UKRAINIAN()
     244             :         {
     245           2 :             check( RTL_TEXTENCODING_APPLE_UKRAINIAN, RTL_TEXTENCODING_ISO_8859_5 );
     246           2 :         }
     247           2 :         void MimeCharsetFromTextEncoding_MS_932()
     248             :         {
     249           2 :             check( RTL_TEXTENCODING_MS_932, RTL_TEXTENCODING_SHIFT_JIS );
     250           2 :         }
     251           2 :         void MimeCharsetFromTextEncoding_MS_936()
     252             :         {
     253           2 :             check( RTL_TEXTENCODING_MS_936, RTL_TEXTENCODING_GB_2312 );
     254           2 :         }
     255           2 :         void MimeCharsetFromTextEncoding_MS_949()
     256             :         {
     257           2 :             check( RTL_TEXTENCODING_MS_949, RTL_TEXTENCODING_EUC_KR );
     258           2 :         }
     259           2 :         void MimeCharsetFromTextEncoding_MS_950()
     260             :         {
     261           2 :             check( RTL_TEXTENCODING_MS_950, RTL_TEXTENCODING_BIG5 );
     262           2 :         }
     263           2 :         void MimeCharsetFromTextEncoding_KOI8_R()
     264             :         {
     265           2 :             check( RTL_TEXTENCODING_KOI8_R, RTL_TEXTENCODING_KOI8_R );
     266           2 :         }
     267           2 :         void MimeCharsetFromTextEncoding_UTF7()
     268             :         {
     269           2 :             check( RTL_TEXTENCODING_UTF7, RTL_TEXTENCODING_UTF7 );
     270           2 :         }
     271           2 :         void MimeCharsetFromTextEncoding_UTF8()
     272             :         {
     273           2 :             check( RTL_TEXTENCODING_UTF8, RTL_TEXTENCODING_UTF8 );
     274           2 :         }
     275           2 :         void MimeCharsetFromTextEncoding_ISO_8859_10()
     276             :         {
     277           2 :             check( RTL_TEXTENCODING_ISO_8859_10, RTL_TEXTENCODING_ISO_8859_10 );
     278           2 :         }
     279           2 :         void MimeCharsetFromTextEncoding_ISO_8859_13()
     280             :         {
     281           2 :             check( RTL_TEXTENCODING_ISO_8859_13, RTL_TEXTENCODING_ISO_8859_13 );
     282           2 :         }
     283           2 :         void MimeCharsetFromTextEncoding_MS_1361()
     284             :         {
     285           2 :             check( RTL_TEXTENCODING_MS_1361, RTL_TEXTENCODING_EUC_KR );
     286           2 :         }
     287           2 :         void MimeCharsetFromTextEncoding_TIS_620()
     288             :         {
     289           2 :             check( RTL_TEXTENCODING_TIS_620, RTL_TEXTENCODING_TIS_620 );
     290           2 :         }
     291           2 :         void MimeCharsetFromTextEncoding_KOI8_U()
     292             :         {
     293           2 :             check( RTL_TEXTENCODING_KOI8_U, RTL_TEXTENCODING_KOI8_U );
     294           2 :         }
     295             : #if WITH_LOCALE_ALL || WITH_LOCALE_ja
     296           2 :         void MimeCharsetFromTextEncoding_APPLE_JAPANESE()
     297             :         {
     298           2 :             check( RTL_TEXTENCODING_APPLE_JAPANESE, RTL_TEXTENCODING_SHIFT_JIS );
     299           2 :         }
     300           2 :         void MimeCharsetFromTextEncoding_SHIFT_JIS()
     301             :         {
     302           2 :             check( RTL_TEXTENCODING_SHIFT_JIS, RTL_TEXTENCODING_SHIFT_JIS );
     303           2 :         }
     304           2 :         void MimeCharsetFromTextEncoding_EUC_JP()
     305             :         {
     306           2 :             check( RTL_TEXTENCODING_EUC_JP, RTL_TEXTENCODING_EUC_JP );
     307           2 :         }
     308           2 :         void MimeCharsetFromTextEncoding_ISO_2022_JP()
     309             :         {
     310           2 :             check( RTL_TEXTENCODING_ISO_2022_JP, RTL_TEXTENCODING_ISO_2022_JP );
     311           2 :         }
     312           2 :         void MimeCharsetFromTextEncoding_JIS_X_0201()
     313             :         {
     314           2 :             check( RTL_TEXTENCODING_JIS_X_0201, RTL_TEXTENCODING_EUC_JP );
     315           2 :         }
     316           2 :         void MimeCharsetFromTextEncoding_JIS_X_0208()
     317             :         {
     318           2 :             check( RTL_TEXTENCODING_JIS_X_0208, RTL_TEXTENCODING_EUC_JP );
     319           2 :         }
     320           2 :         void MimeCharsetFromTextEncoding_JIS_X_0212()
     321             :         {
     322           2 :             check( RTL_TEXTENCODING_JIS_X_0212, RTL_TEXTENCODING_EUC_JP );
     323           2 :         }
     324             : #endif
     325             : #if WITH_LOCALE_ALL || WITH_LOCALE_ko
     326           2 :         void MimeCharsetFromTextEncoding_APPLE_KOREAN()
     327             :         {
     328           2 :             check( RTL_TEXTENCODING_APPLE_KOREAN, RTL_TEXTENCODING_EUC_KR );
     329           2 :         }
     330           2 :         void MimeCharsetFromTextEncoding_EUC_KR()
     331             :         {
     332           2 :             check( RTL_TEXTENCODING_EUC_KR, RTL_TEXTENCODING_EUC_KR );
     333           2 :         }
     334           2 :         void MimeCharsetFromTextEncoding_ISO_2022_KR()
     335             :         {
     336           2 :             check( RTL_TEXTENCODING_ISO_2022_KR, RTL_TEXTENCODING_ISO_2022_KR );
     337           2 :         }
     338             : #endif
     339             : #if WITH_LOCALE_ALL || WITH_LOCALE_zh
     340           2 :         void MimeCharsetFromTextEncoding_APPLE_CHINSIMP()
     341             :         {
     342           2 :             check( RTL_TEXTENCODING_APPLE_CHINSIMP, RTL_TEXTENCODING_GB_2312 );
     343           2 :         }
     344           2 :         void MimeCharsetFromTextEncoding_APPLE_CHINTRAD()
     345             :         {
     346           2 :             check( RTL_TEXTENCODING_APPLE_CHINTRAD, RTL_TEXTENCODING_BIG5 );
     347           2 :         }
     348           2 :         void MimeCharsetFromTextEncoding_GB_2312()
     349             :         {
     350           2 :             check( RTL_TEXTENCODING_GB_2312, RTL_TEXTENCODING_GB_2312 );
     351           2 :         }
     352           2 :         void MimeCharsetFromTextEncoding_GBT_12345()
     353             :         {
     354           2 :             check( RTL_TEXTENCODING_GBT_12345, RTL_TEXTENCODING_GBT_12345 );
     355           2 :         }
     356           2 :         void MimeCharsetFromTextEncoding_GBK()
     357             :         {
     358           2 :             check( RTL_TEXTENCODING_GBK, RTL_TEXTENCODING_GBK );
     359           2 :         }
     360           2 :         void MimeCharsetFromTextEncoding_BIG5()
     361             :         {
     362           2 :             check( RTL_TEXTENCODING_BIG5, RTL_TEXTENCODING_BIG5 );
     363           2 :         }
     364           2 :         void MimeCharsetFromTextEncoding_EUC_CN()
     365             :         {
     366           2 :             check( RTL_TEXTENCODING_EUC_CN, RTL_TEXTENCODING_GB_2312 );
     367           2 :         }
     368           2 :         void MimeCharsetFromTextEncoding_EUC_TW()
     369             :         {
     370           2 :             check( RTL_TEXTENCODING_EUC_TW, RTL_TEXTENCODING_BIG5 );
     371           2 :         }
     372           2 :         void MimeCharsetFromTextEncoding_ISO_2022_CN()
     373             :         {
     374           2 :             check( RTL_TEXTENCODING_ISO_2022_CN, RTL_TEXTENCODING_ISO_2022_CN );
     375           2 :         }
     376           2 :         void MimeCharsetFromTextEncoding_GB_18030()
     377             :         {
     378           2 :             check( RTL_TEXTENCODING_GB_18030, RTL_TEXTENCODING_GB_18030 );
     379           2 :         }
     380           2 :         void MimeCharsetFromTextEncoding_BIG5_HKSCS()
     381             :         {
     382           2 :             check( RTL_TEXTENCODING_BIG5_HKSCS, RTL_TEXTENCODING_BIG5_HKSCS );
     383           2 :         }
     384             : #endif
     385             : #if WITH_LOCALE_ALL || WITH_LOCALE_FOR_SCRIPT_Deva
     386           2 :         void MimeCharsetFromTextEncoding_ISCII_DEVANAGARI()
     387             :         {
     388           2 :             check( RTL_TEXTENCODING_ISCII_DEVANAGARI, RTL_TEXTENCODING_ISCII_DEVANAGARI );
     389           2 :         }
     390             : #endif
     391           4 :         CPPUNIT_TEST_SUITE( testBestMime );
     392             : 
     393           2 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_MS_1252 );
     394           2 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_APPLE_ROMAN );
     395           2 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_IBM_437 );
     396           2 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_IBM_850 );
     397           2 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_IBM_860 );
     398           2 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_IBM_861 );
     399           2 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_IBM_863 );
     400           2 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_IBM_865 );
     401           2 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_SYMBOL );
     402           2 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_ASCII_US );
     403           2 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_ISO_8859_1 );
     404           2 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_ISO_8859_2 );
     405           2 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_ISO_8859_3 );
     406           2 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_ISO_8859_4 );
     407           2 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_ISO_8859_5 );
     408           2 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_ISO_8859_6 );
     409           2 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_ISO_8859_7 );
     410           2 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_ISO_8859_8 );
     411           2 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_ISO_8859_9 );
     412           2 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_ISO_8859_14 );
     413           2 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_ISO_8859_15 );
     414           2 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_IBM_737 );
     415           2 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_IBM_775 );
     416           2 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_IBM_852 );
     417           2 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_IBM_855 );
     418           2 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_IBM_857 );
     419           2 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_IBM_862 );
     420           2 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_IBM_864 );
     421           2 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_IBM_866 );
     422           2 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_IBM_869 );
     423           2 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_MS_874 );
     424           2 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_MS_1250 );
     425           2 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_MS_1251 );
     426           2 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_MS_1253 );
     427           2 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_MS_1254 );
     428           2 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_MS_1255 );
     429           2 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_MS_1256 );
     430           2 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_MS_1257 );
     431           2 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_MS_1258 );
     432           2 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_APPLE_CENTEURO );
     433           2 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_APPLE_CROATIAN );
     434           2 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_APPLE_CYRILLIC );
     435           2 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_APPLE_GREEK );
     436           2 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_APPLE_ICELAND );
     437           2 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_APPLE_ROMANIAN );
     438           2 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_APPLE_TURKISH );
     439           2 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_APPLE_UKRAINIAN );
     440           2 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_MS_932 );
     441           2 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_MS_936 );
     442           2 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_MS_949 );
     443           2 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_MS_950 );
     444           2 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_KOI8_R );
     445           2 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_UTF7 );
     446           2 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_UTF8 );
     447           2 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_ISO_8859_10 );
     448           2 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_ISO_8859_13 );
     449           2 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_MS_1361 );
     450           2 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_TIS_620 );
     451           2 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_KOI8_U );
     452             : #if WITH_LOCALE_ALL || WITH_LOCALE_ja
     453           2 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_APPLE_JAPANESE );
     454           2 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_SHIFT_JIS );
     455           2 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_EUC_JP );
     456           2 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_ISO_2022_JP );
     457           2 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_JIS_X_0201 );
     458           2 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_JIS_X_0208 );
     459           2 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_JIS_X_0212 );
     460             : #endif
     461             : #if WITH_LOCALE_ALL || WITH_LOCALE_ko
     462           2 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_APPLE_KOREAN );
     463           2 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_EUC_KR );
     464           2 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_ISO_2022_KR );
     465             : #endif
     466             : #if WITH_LOCALE_ALL || WITH_LOCALE_zh
     467           2 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_APPLE_CHINSIMP );
     468           2 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_APPLE_CHINTRAD );
     469           2 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_GB_2312 );
     470           2 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_GBT_12345 );
     471           2 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_GBK );
     472           2 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_BIG5 );
     473           2 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_EUC_CN );
     474           2 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_EUC_TW );
     475           2 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_ISO_2022_CN );
     476           2 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_GB_18030 );
     477           2 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_BIG5_HKSCS );
     478             : #endif
     479             : #if WITH_LOCALE_ALL || WITH_LOCALE_FOR_SCRIPT_Deva
     480           2 :         CPPUNIT_TEST( MimeCharsetFromTextEncoding_ISCII_DEVANAGARI );
     481             : #endif
     482           4 :         CPPUNIT_TEST_SUITE_END( );
     483             :     };
     484             : 
     485         480 :     class testBestUnix : public CppUnit::TestFixture
     486             :     {
     487             :     public:
     488         160 :         void setUp() SAL_OVERRIDE
     489             :         {
     490         160 :         }
     491             : 
     492         160 :         void check(rtl_TextEncoding eIn, rtl_TextEncoding eOut)
     493             :         {
     494         160 :             const sal_Char *pCharSet = rtl_getBestUnixCharsetFromTextEncoding(eIn);
     495         160 :             rtl_TextEncoding eTextEnc = rtl_getTextEncodingFromUnixCharset(pCharSet);
     496         160 :             CPPUNIT_ASSERT_MESSAGE("rtl_getBestUnixCharsetFromTextEncoding && rtl_getTextEncodingFromUnixCharset", eTextEnc == eOut);
     497         160 :         }
     498             : 
     499           2 :         void UnixCharsetFromTextEncoding_MS_1252()
     500             :         {
     501           2 :             check( RTL_TEXTENCODING_MS_1252, RTL_TEXTENCODING_ISO_8859_1 );
     502           2 :         }
     503             : 
     504           2 :         void UnixCharsetFromTextEncoding_APPLE_ROMAN()
     505             :         {
     506           2 :             check( RTL_TEXTENCODING_APPLE_ROMAN, RTL_TEXTENCODING_ISO_8859_1 );
     507           2 :         }
     508             : 
     509           2 :         void UnixCharsetFromTextEncoding_IBM_437()
     510             :         {
     511           2 :             check( RTL_TEXTENCODING_IBM_437, RTL_TEXTENCODING_ISO_8859_1 );
     512           2 :         }
     513             : 
     514           2 :         void UnixCharsetFromTextEncoding_IBM_850()
     515             :         {
     516           2 :             check( RTL_TEXTENCODING_IBM_850, RTL_TEXTENCODING_ISO_8859_1 );
     517           2 :         }
     518             : 
     519           2 :         void UnixCharsetFromTextEncoding_IBM_860()
     520             :         {
     521           2 :             check( RTL_TEXTENCODING_IBM_860, RTL_TEXTENCODING_ISO_8859_1 );
     522           2 :         }
     523             : 
     524           2 :         void UnixCharsetFromTextEncoding_IBM_861()
     525             :         {
     526           2 :             check( RTL_TEXTENCODING_IBM_861, RTL_TEXTENCODING_ISO_8859_1 );
     527           2 :         }
     528             : 
     529           2 :         void UnixCharsetFromTextEncoding_IBM_863()
     530             :         {
     531           2 :             check( RTL_TEXTENCODING_IBM_863, RTL_TEXTENCODING_ISO_8859_1 );
     532           2 :         }
     533             : 
     534           2 :         void UnixCharsetFromTextEncoding_IBM_865()
     535             :         {
     536           2 :             check( RTL_TEXTENCODING_IBM_865, RTL_TEXTENCODING_ISO_8859_1 );
     537           2 :         }
     538             : 
     539           2 :         void UnixCharsetFromTextEncoding_SYMBOL()
     540             :         {
     541           2 :             check( RTL_TEXTENCODING_SYMBOL, RTL_TEXTENCODING_SYMBOL );
     542           2 :         }
     543             : 
     544           2 :         void UnixCharsetFromTextEncoding_ASCII_US()
     545             :         {
     546           2 :             check( RTL_TEXTENCODING_ASCII_US, RTL_TEXTENCODING_ISO_8859_1 );
     547           2 :         }
     548             : 
     549           2 :         void UnixCharsetFromTextEncoding_ISO_8859_1()
     550             :         {
     551           2 :             check( RTL_TEXTENCODING_ISO_8859_1, RTL_TEXTENCODING_ISO_8859_1 );
     552           2 :         }
     553             : 
     554           2 :         void UnixCharsetFromTextEncoding_ISO_8859_2()
     555             :         {
     556           2 :             check( RTL_TEXTENCODING_ISO_8859_2, RTL_TEXTENCODING_ISO_8859_2 );
     557           2 :         }
     558             : 
     559           2 :         void UnixCharsetFromTextEncoding_ISO_8859_3()
     560             :         {
     561           2 :             check( RTL_TEXTENCODING_ISO_8859_3, RTL_TEXTENCODING_ISO_8859_3 );
     562           2 :         }
     563             : 
     564           2 :         void UnixCharsetFromTextEncoding_ISO_8859_4()
     565             :         {
     566           2 :             check( RTL_TEXTENCODING_ISO_8859_4, RTL_TEXTENCODING_ISO_8859_4 );
     567           2 :         }
     568             : 
     569           2 :         void UnixCharsetFromTextEncoding_ISO_8859_5()
     570             :         {
     571           2 :             check( RTL_TEXTENCODING_ISO_8859_5, RTL_TEXTENCODING_ISO_8859_5 );
     572           2 :         }
     573             : 
     574           2 :         void UnixCharsetFromTextEncoding_ISO_8859_6()
     575             :         {
     576           2 :             check( RTL_TEXTENCODING_ISO_8859_6, RTL_TEXTENCODING_ISO_8859_6 );
     577           2 :         }
     578             : 
     579           2 :         void UnixCharsetFromTextEncoding_ISO_8859_7()
     580             :         {
     581           2 :             check( RTL_TEXTENCODING_ISO_8859_7, RTL_TEXTENCODING_ISO_8859_7 );
     582           2 :         }
     583             : 
     584           2 :         void UnixCharsetFromTextEncoding_ISO_8859_8()
     585             :         {
     586           2 :             check( RTL_TEXTENCODING_ISO_8859_8, RTL_TEXTENCODING_ISO_8859_8 );
     587           2 :         }
     588             : 
     589           2 :         void UnixCharsetFromTextEncoding_ISO_8859_9()
     590             :         {
     591           2 :             check( RTL_TEXTENCODING_ISO_8859_9, RTL_TEXTENCODING_ISO_8859_9 );
     592           2 :         }
     593             : 
     594           2 :         void UnixCharsetFromTextEncoding_ISO_8859_14()
     595             :         {
     596           2 :             check( RTL_TEXTENCODING_ISO_8859_14, RTL_TEXTENCODING_ISO_8859_14 );
     597           2 :         }
     598             : 
     599           2 :         void UnixCharsetFromTextEncoding_ISO_8859_15()
     600             :         {
     601           2 :             check( RTL_TEXTENCODING_ISO_8859_15, RTL_TEXTENCODING_ISO_8859_15 );
     602           2 :         }
     603             : 
     604           2 :         void UnixCharsetFromTextEncoding_IBM_737()
     605             :         {
     606           2 :             check( RTL_TEXTENCODING_IBM_737, RTL_TEXTENCODING_ISO_8859_7 );
     607           2 :         }
     608             : 
     609           2 :         void UnixCharsetFromTextEncoding_IBM_775()
     610             :         {
     611           2 :             check( RTL_TEXTENCODING_IBM_775, RTL_TEXTENCODING_ISO_8859_4 );
     612           2 :         }
     613             : 
     614           2 :         void UnixCharsetFromTextEncoding_IBM_852()
     615             :         {
     616           2 :             check( RTL_TEXTENCODING_IBM_852, RTL_TEXTENCODING_ISO_8859_2 );
     617           2 :         }
     618             : 
     619           2 :         void UnixCharsetFromTextEncoding_IBM_855()
     620             :         {
     621           2 :             check( RTL_TEXTENCODING_IBM_855, RTL_TEXTENCODING_ISO_8859_5 );
     622           2 :         }
     623             : 
     624           2 :         void UnixCharsetFromTextEncoding_IBM_857()
     625             :         {
     626           2 :             check( RTL_TEXTENCODING_IBM_857, RTL_TEXTENCODING_ISO_8859_9 );
     627           2 :         }
     628             : 
     629           2 :         void UnixCharsetFromTextEncoding_IBM_862()
     630             :         {
     631           2 :             check( RTL_TEXTENCODING_IBM_862, RTL_TEXTENCODING_ISO_8859_8 );
     632           2 :         }
     633             : 
     634           2 :         void UnixCharsetFromTextEncoding_IBM_864()
     635             :         {
     636           2 :             check( RTL_TEXTENCODING_IBM_864, RTL_TEXTENCODING_ISO_8859_6 );
     637           2 :         }
     638             : 
     639           2 :         void UnixCharsetFromTextEncoding_IBM_866()
     640             :         {
     641           2 :             check( RTL_TEXTENCODING_IBM_866, RTL_TEXTENCODING_ISO_8859_5 );
     642           2 :         }
     643             : 
     644           2 :         void UnixCharsetFromTextEncoding_IBM_869()
     645             :         {
     646           2 :             check( RTL_TEXTENCODING_IBM_869, RTL_TEXTENCODING_ISO_8859_7 );
     647           2 :         }
     648             : 
     649           2 :         void UnixCharsetFromTextEncoding_MS_874()
     650             :         {
     651           2 :             check( RTL_TEXTENCODING_MS_874, RTL_TEXTENCODING_ISO_8859_1 );
     652           2 :         }
     653             : 
     654           2 :         void UnixCharsetFromTextEncoding_MS_1250()
     655             :         {
     656           2 :             check( RTL_TEXTENCODING_MS_1250, RTL_TEXTENCODING_ISO_8859_2 );
     657           2 :         }
     658             : 
     659           2 :         void UnixCharsetFromTextEncoding_MS_1251()
     660             :         {
     661           2 :             check( RTL_TEXTENCODING_MS_1251, RTL_TEXTENCODING_ISO_8859_5 );
     662           2 :         }
     663             : 
     664           2 :         void UnixCharsetFromTextEncoding_MS_1253()
     665             :         {
     666           2 :             check( RTL_TEXTENCODING_MS_1253, RTL_TEXTENCODING_ISO_8859_7 );
     667           2 :         }
     668             : 
     669           2 :         void UnixCharsetFromTextEncoding_MS_1254()
     670             :         {
     671           2 :             check( RTL_TEXTENCODING_MS_1254, RTL_TEXTENCODING_ISO_8859_9 );
     672           2 :         }
     673             : 
     674           2 :         void UnixCharsetFromTextEncoding_MS_1255()
     675             :         {
     676           2 :             check( RTL_TEXTENCODING_MS_1255, RTL_TEXTENCODING_ISO_8859_8 );
     677           2 :         }
     678             : 
     679           2 :         void UnixCharsetFromTextEncoding_MS_1256()
     680             :         {
     681           2 :             check( RTL_TEXTENCODING_MS_1256, RTL_TEXTENCODING_ISO_8859_6 );
     682           2 :         }
     683             : 
     684           2 :         void UnixCharsetFromTextEncoding_MS_1257()
     685             :         {
     686           2 :             check( RTL_TEXTENCODING_MS_1257, RTL_TEXTENCODING_ISO_8859_4 );
     687           2 :         }
     688             : 
     689           2 :         void UnixCharsetFromTextEncoding_MS_1258()
     690             :         {
     691           2 :             check( RTL_TEXTENCODING_MS_1258, RTL_TEXTENCODING_ISO_8859_1 );
     692           2 :         }
     693             : 
     694           2 :         void UnixCharsetFromTextEncoding_APPLE_CENTEURO()
     695             :         {
     696           2 :             check( RTL_TEXTENCODING_APPLE_CENTEURO, RTL_TEXTENCODING_ISO_8859_2 );
     697           2 :         }
     698             : 
     699           2 :         void UnixCharsetFromTextEncoding_APPLE_CROATIAN()
     700             :         {
     701           2 :             check( RTL_TEXTENCODING_APPLE_CROATIAN, RTL_TEXTENCODING_ISO_8859_2 );
     702           2 :         }
     703             : 
     704           2 :         void UnixCharsetFromTextEncoding_APPLE_CYRILLIC()
     705             :         {
     706           2 :             check( RTL_TEXTENCODING_APPLE_CYRILLIC, RTL_TEXTENCODING_ISO_8859_5 );
     707           2 :         }
     708             : 
     709           2 :         void UnixCharsetFromTextEncoding_APPLE_GREEK()
     710             :         {
     711           2 :             check( RTL_TEXTENCODING_APPLE_GREEK, RTL_TEXTENCODING_ISO_8859_7 );
     712           2 :         }
     713             : 
     714           2 :         void UnixCharsetFromTextEncoding_APPLE_ICELAND()
     715             :         {
     716           2 :             check( RTL_TEXTENCODING_APPLE_ICELAND, RTL_TEXTENCODING_ISO_8859_1 );
     717           2 :         }
     718             : 
     719           2 :         void UnixCharsetFromTextEncoding_APPLE_ROMANIAN()
     720             :         {
     721           2 :             check( RTL_TEXTENCODING_APPLE_ROMANIAN, RTL_TEXTENCODING_ISO_8859_2 );
     722           2 :         }
     723             : 
     724           2 :         void UnixCharsetFromTextEncoding_APPLE_TURKISH()
     725             :         {
     726           2 :             check( RTL_TEXTENCODING_APPLE_TURKISH, RTL_TEXTENCODING_ISO_8859_9 );
     727           2 :         }
     728             : 
     729           2 :         void UnixCharsetFromTextEncoding_APPLE_UKRAINIAN()
     730             :         {
     731           2 :             check( RTL_TEXTENCODING_APPLE_UKRAINIAN, RTL_TEXTENCODING_ISO_8859_5 );
     732           2 :         }
     733             : #if WITH_LOCALE_ALL || WITH_LOCALE_zh
     734           2 :         void UnixCharsetFromTextEncoding_APPLE_CHINSIMP()
     735             :         {
     736           2 :             check( RTL_TEXTENCODING_APPLE_CHINSIMP, RTL_TEXTENCODING_DONTKNOW );
     737           2 :         }
     738             : 
     739           2 :         void UnixCharsetFromTextEncoding_APPLE_CHINTRAD()
     740             :         {
     741           2 :             check( RTL_TEXTENCODING_APPLE_CHINTRAD, RTL_TEXTENCODING_DONTKNOW );
     742           2 :         }
     743             : #endif
     744             : #if WITH_LOCALE_ALL || WITH_LOCALE_ja
     745           2 :         void UnixCharsetFromTextEncoding_APPLE_JAPANESE()
     746             :         {
     747           2 :             check( RTL_TEXTENCODING_APPLE_JAPANESE, RTL_TEXTENCODING_DONTKNOW );
     748           2 :         }
     749             : #endif
     750             : #if WITH_LOCALE_ALL || WITH_LOCALE_ko
     751           2 :         void UnixCharsetFromTextEncoding_APPLE_KOREAN()
     752             :         {
     753           2 :             check( RTL_TEXTENCODING_APPLE_KOREAN, RTL_TEXTENCODING_DONTKNOW );
     754           2 :         }
     755             : #endif
     756           2 :         void UnixCharsetFromTextEncoding_MS_932()
     757             :         {
     758           2 :             check( RTL_TEXTENCODING_MS_932, RTL_TEXTENCODING_DONTKNOW );
     759           2 :         }
     760             : 
     761           2 :         void UnixCharsetFromTextEncoding_MS_936()
     762             :         {
     763           2 :             check( RTL_TEXTENCODING_MS_936, RTL_TEXTENCODING_DONTKNOW );
     764           2 :         }
     765             : 
     766           2 :         void UnixCharsetFromTextEncoding_MS_949()
     767             :         {
     768           2 :             check( RTL_TEXTENCODING_MS_949, RTL_TEXTENCODING_DONTKNOW );
     769           2 :         }
     770             : 
     771           2 :         void UnixCharsetFromTextEncoding_MS_950()
     772             :         {
     773           2 :             check( RTL_TEXTENCODING_MS_950, RTL_TEXTENCODING_DONTKNOW );
     774           2 :         }
     775             : #if WITH_LOCALE_ALL || WITH_LOCALE_ja
     776           2 :         void UnixCharsetFromTextEncoding_SHIFT_JIS()
     777             :         {
     778           2 :             check( RTL_TEXTENCODING_SHIFT_JIS, RTL_TEXTENCODING_DONTKNOW );
     779           2 :         }
     780             : #endif
     781             : #if WITH_LOCALE_ALL || WITH_LOCALE_zh
     782           2 :         void UnixCharsetFromTextEncoding_GB_2312()
     783             :         {
     784           2 :             check( RTL_TEXTENCODING_GB_2312, RTL_TEXTENCODING_DONTKNOW );
     785           2 :         }
     786             : 
     787           2 :         void UnixCharsetFromTextEncoding_GBT_12345()
     788             :         {
     789           2 :             check( RTL_TEXTENCODING_GBT_12345, RTL_TEXTENCODING_DONTKNOW );
     790           2 :         }
     791             : 
     792           2 :         void UnixCharsetFromTextEncoding_GBK()
     793             :         {
     794           2 :             check( RTL_TEXTENCODING_GBK, RTL_TEXTENCODING_DONTKNOW );
     795           2 :         }
     796             : 
     797           2 :         void UnixCharsetFromTextEncoding_BIG5()
     798             :         {
     799           2 :             check( RTL_TEXTENCODING_BIG5, RTL_TEXTENCODING_DONTKNOW );
     800           2 :         }
     801             : #endif
     802             : #if WITH_LOCALE_ALL || WITH_LOCALE_ja
     803           2 :         void UnixCharsetFromTextEncoding_EUC_JP()
     804             :         {
     805           2 :             check( RTL_TEXTENCODING_EUC_JP, RTL_TEXTENCODING_DONTKNOW );
     806           2 :         }
     807             : #endif
     808             : #if WITH_LOCALE_ALL || WITH_LOCALE_zh
     809           2 :         void UnixCharsetFromTextEncoding_EUC_CN()
     810             :         {
     811           2 :             check( RTL_TEXTENCODING_EUC_CN, RTL_TEXTENCODING_DONTKNOW );
     812           2 :         }
     813             : 
     814           2 :         void UnixCharsetFromTextEncoding_EUC_TW()
     815             :         {
     816           2 :             check( RTL_TEXTENCODING_EUC_TW, RTL_TEXTENCODING_DONTKNOW );
     817           2 :         }
     818             : #endif
     819             : #if WITH_LOCALE_ALL || WITH_LOCALE_ja
     820           2 :         void UnixCharsetFromTextEncoding_ISO_2022_JP()
     821             :         {
     822           2 :             check( RTL_TEXTENCODING_ISO_2022_JP, RTL_TEXTENCODING_DONTKNOW );
     823           2 :         }
     824             : #endif
     825             : #if WITH_LOCALE_ALL || WITH_LOCALE_zh
     826           2 :         void UnixCharsetFromTextEncoding_ISO_2022_CN()
     827             :         {
     828           2 :             check( RTL_TEXTENCODING_ISO_2022_CN, RTL_TEXTENCODING_DONTKNOW );
     829           2 :         }
     830             : #endif
     831           2 :         void UnixCharsetFromTextEncoding_KOI8_R()
     832             :         {
     833           2 :             check( RTL_TEXTENCODING_KOI8_R, RTL_TEXTENCODING_KOI8_R );
     834           2 :         }
     835             : 
     836           2 :         void UnixCharsetFromTextEncoding_UTF7()
     837             :         {
     838           2 :             check( RTL_TEXTENCODING_UTF7, RTL_TEXTENCODING_ISO_8859_1 );
     839           2 :         }
     840             : 
     841           2 :         void UnixCharsetFromTextEncoding_UTF8()
     842             :         {
     843           2 :             check( RTL_TEXTENCODING_UTF8, RTL_TEXTENCODING_ISO_8859_1 );
     844           2 :         }
     845             : 
     846           2 :         void UnixCharsetFromTextEncoding_ISO_8859_10()
     847             :         {
     848           2 :             check( RTL_TEXTENCODING_ISO_8859_10, RTL_TEXTENCODING_ISO_8859_10 );
     849           2 :         }
     850             : 
     851           2 :         void UnixCharsetFromTextEncoding_ISO_8859_13()
     852             :         {
     853           2 :             check( RTL_TEXTENCODING_ISO_8859_13, RTL_TEXTENCODING_ISO_8859_13 );
     854           2 :         }
     855             : #if WITH_LOCALE_ALL || WITH_LOCALE_ko
     856           2 :         void UnixCharsetFromTextEncoding_EUC_KR()
     857             :         {
     858           2 :             check( RTL_TEXTENCODING_EUC_KR, RTL_TEXTENCODING_DONTKNOW );
     859           2 :         }
     860             : 
     861           2 :         void UnixCharsetFromTextEncoding_ISO_2022_KR()
     862             :         {
     863           2 :             check( RTL_TEXTENCODING_ISO_2022_KR, RTL_TEXTENCODING_DONTKNOW );
     864           2 :         }
     865             : #endif
     866             : #if WITH_LOCALE_ALL || WITH_LOCALE_ja
     867           2 :         void UnixCharsetFromTextEncoding_JIS_X_0201()
     868             :         {
     869           2 :             check( RTL_TEXTENCODING_JIS_X_0201, RTL_TEXTENCODING_DONTKNOW );
     870           2 :         }
     871             : 
     872           2 :         void UnixCharsetFromTextEncoding_JIS_X_0208()
     873             :         {
     874           2 :             check( RTL_TEXTENCODING_JIS_X_0208, RTL_TEXTENCODING_DONTKNOW );
     875           2 :         }
     876             : 
     877           2 :         void UnixCharsetFromTextEncoding_JIS_X_0212()
     878             :         {
     879           2 :             check( RTL_TEXTENCODING_JIS_X_0212, RTL_TEXTENCODING_DONTKNOW );
     880           2 :         }
     881             : #endif
     882           2 :         void UnixCharsetFromTextEncoding_MS_1361()
     883             :         {
     884           2 :             check( RTL_TEXTENCODING_MS_1361, RTL_TEXTENCODING_DONTKNOW );
     885           2 :         }
     886             : #if WITH_LOCALE_ALL || WITH_LOCALE_zh
     887           2 :         void UnixCharsetFromTextEncoding_GB_18030()
     888             :         {
     889           2 :             check( RTL_TEXTENCODING_GB_18030, RTL_TEXTENCODING_GBK );
     890           2 :         }
     891             : 
     892           2 :         void UnixCharsetFromTextEncoding_BIG5_HKSCS()
     893             :         {
     894           2 :             check( RTL_TEXTENCODING_BIG5_HKSCS, RTL_TEXTENCODING_DONTKNOW );
     895           2 :         }
     896             : #endif
     897           2 :         void UnixCharsetFromTextEncoding_TIS_620()
     898             :         {
     899           2 :             check( RTL_TEXTENCODING_TIS_620, RTL_TEXTENCODING_ISO_8859_1 );
     900           2 :         }
     901             : 
     902           2 :         void UnixCharsetFromTextEncoding_KOI8_U()
     903             :         {
     904           2 :             check( RTL_TEXTENCODING_KOI8_U, RTL_TEXTENCODING_KOI8_U );
     905           2 :         }
     906             : 
     907           4 :         CPPUNIT_TEST_SUITE( testBestUnix );
     908           2 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_MS_1252 );
     909           2 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_APPLE_ROMAN );
     910           2 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_IBM_437 );
     911           2 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_IBM_850 );
     912           2 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_IBM_860 );
     913           2 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_IBM_861 );
     914           2 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_IBM_863 );
     915           2 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_IBM_865 );
     916             : 
     917           2 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_SYMBOL );
     918           2 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_ASCII_US );
     919           2 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_ISO_8859_1 );
     920           2 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_ISO_8859_2 );
     921           2 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_ISO_8859_3 );
     922           2 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_ISO_8859_4 );
     923           2 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_ISO_8859_5 );
     924           2 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_ISO_8859_6 );
     925           2 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_ISO_8859_7 );
     926           2 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_ISO_8859_8 );
     927           2 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_ISO_8859_9 );
     928           2 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_ISO_8859_14 );
     929           2 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_ISO_8859_15 );
     930           2 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_IBM_737 );
     931           2 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_IBM_775 );
     932           2 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_IBM_852 );
     933           2 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_IBM_855 );
     934           2 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_IBM_857 );
     935           2 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_IBM_862 );
     936           2 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_IBM_864 );
     937           2 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_IBM_866 );
     938           2 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_IBM_869 );
     939           2 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_MS_874 );
     940           2 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_MS_1250 );
     941           2 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_MS_1251 );
     942           2 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_MS_1253 );
     943           2 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_MS_1254 );
     944           2 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_MS_1255 );
     945           2 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_MS_1256 );
     946           2 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_MS_1257 );
     947           2 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_MS_1258 );
     948           2 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_APPLE_CENTEURO );
     949           2 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_APPLE_CROATIAN );
     950           2 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_APPLE_CYRILLIC );
     951           2 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_APPLE_GREEK );
     952           2 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_APPLE_ICELAND );
     953           2 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_APPLE_ROMANIAN );
     954           2 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_APPLE_TURKISH );
     955           2 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_APPLE_UKRAINIAN );
     956             : #if WITH_LOCALE_ALL || WITH_LOCALE_zh
     957           2 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_APPLE_CHINSIMP );
     958           2 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_APPLE_CHINTRAD );
     959             : #endif
     960             : #if WITH_LOCALE_ALL || WITH_LOCALE_ja
     961           2 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_APPLE_JAPANESE );
     962             : #endif
     963             : #if WITH_LOCALE_ALL || WITH_LOCALE_ko
     964           2 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_APPLE_KOREAN );
     965             : #endif
     966           2 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_MS_932 );
     967           2 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_MS_936 );
     968           2 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_MS_949 );
     969           2 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_MS_950 );
     970             : #if WITH_LOCALE_ALL || WITH_LOCALE_ja
     971           2 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_SHIFT_JIS );
     972             : #endif
     973             : #if WITH_LOCALE_ALL || WITH_LOCALE_zh
     974           2 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_GB_2312 );
     975           2 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_GBT_12345 );
     976           2 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_GBK );
     977           2 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_BIG5 );
     978             : #endif
     979             : #if WITH_LOCALE_ALL || WITH_LOCALE_ja
     980           2 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_EUC_JP );
     981             : #endif
     982             : #if WITH_LOCALE_ALL || WITH_LOCALE_zh
     983           2 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_EUC_CN );
     984           2 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_EUC_TW );
     985             : #endif
     986             : #if WITH_LOCALE_ALL || WITH_LOCALE_ja
     987           2 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_ISO_2022_JP );
     988             : #endif
     989             : #if WITH_LOCALE_ALL || WITH_LOCALE_zh
     990           2 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_ISO_2022_CN );
     991             : #endif
     992           2 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_KOI8_R );
     993           2 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_UTF7 );
     994           2 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_UTF8 );
     995           2 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_ISO_8859_10 );
     996           2 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_ISO_8859_13 );
     997             : #if WITH_LOCALE_ALL || WITH_LOCALE_ko
     998           2 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_EUC_KR );
     999           2 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_ISO_2022_KR );
    1000             : #endif
    1001             : #if WITH_LOCALE_ALL || WITH_LOCALE_ja
    1002           2 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_JIS_X_0201 );
    1003           2 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_JIS_X_0208 );
    1004           2 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_JIS_X_0212 );
    1005             : #endif
    1006           2 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_MS_1361 );
    1007             : #if WITH_LOCALE_ALL || WITH_LOCALE_zh
    1008           2 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_GB_18030 );
    1009           2 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_BIG5_HKSCS );
    1010             : #endif
    1011           2 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_TIS_620 );
    1012           2 :         CPPUNIT_TEST( UnixCharsetFromTextEncoding_KOI8_U );
    1013             : 
    1014           4 :         CPPUNIT_TEST_SUITE_END( );
    1015             :     };
    1016             : 
    1017         114 :     class testBestWindows : public CppUnit::TestFixture
    1018             :     {
    1019             :     public:
    1020          38 :         void setUp() SAL_OVERRIDE
    1021             :             {
    1022          38 :             }
    1023             : 
    1024          38 :         void check(rtl_TextEncoding nIn, rtl_TextEncoding nOut)
    1025             :         {
    1026          38 :             const sal_uInt8 nCharSet = rtl_getBestWindowsCharsetFromTextEncoding(nIn);
    1027          38 :             rtl_TextEncoding eTextEnc = rtl_getTextEncodingFromWindowsCharset(nCharSet);
    1028          38 :             CPPUNIT_ASSERT_MESSAGE("rtl_getBestWindowsCharsetFromTextEncoding && rtl_getTextEncodingFromWindowsCharset differ", eTextEnc == nOut);
    1029          38 :         }
    1030             : 
    1031           2 :         void WindowsCharsetFromTextEncoding_MS_1252()
    1032             :         {
    1033           2 :             check( RTL_TEXTENCODING_MS_1252, RTL_TEXTENCODING_MS_1252 );
    1034           2 :         }
    1035             : 
    1036           2 :         void WindowsCharsetFromTextEncoding_APPLE_ROMAN()
    1037             :         {
    1038           2 :             check( RTL_TEXTENCODING_APPLE_ROMAN, RTL_TEXTENCODING_APPLE_ROMAN );
    1039           2 :         }
    1040             : 
    1041           2 :         void WindowsCharsetFromTextEncoding_IBM_437()
    1042             :         {
    1043           2 :             check( RTL_TEXTENCODING_IBM_437, RTL_TEXTENCODING_MS_1252 );
    1044           2 :         }
    1045             : 
    1046           2 :         void WindowsCharsetFromTextEncoding_IBM_850()
    1047             :         {
    1048           2 :             check( RTL_TEXTENCODING_IBM_850, RTL_TEXTENCODING_MS_1252 );
    1049           2 :         }
    1050             : 
    1051           2 :         void WindowsCharsetFromTextEncoding_IBM_860()
    1052             :         {
    1053           2 :             check( RTL_TEXTENCODING_IBM_860, RTL_TEXTENCODING_MS_1252 );
    1054           2 :         }
    1055             : 
    1056           2 :         void WindowsCharsetFromTextEncoding_IBM_861()
    1057             :         {
    1058           2 :             check( RTL_TEXTENCODING_IBM_861, RTL_TEXTENCODING_MS_1252 );
    1059           2 :         }
    1060             : 
    1061           2 :         void WindowsCharsetFromTextEncoding_IBM_863()
    1062             :         {
    1063           2 :             check( RTL_TEXTENCODING_IBM_863, RTL_TEXTENCODING_MS_1252 );
    1064           2 :         }
    1065             : 
    1066           2 :         void WindowsCharsetFromTextEncoding_IBM_865()
    1067             :         {
    1068           2 :             check( RTL_TEXTENCODING_IBM_865, RTL_TEXTENCODING_MS_1252 );
    1069           2 :         }
    1070             : 
    1071           2 :         void WindowsCharsetFromTextEncoding_SYMBOL()
    1072             :         {
    1073           2 :             check( RTL_TEXTENCODING_SYMBOL, RTL_TEXTENCODING_SYMBOL );
    1074           2 :         }
    1075             : 
    1076           2 :         void WindowsCharsetFromTextEncoding_ASCII_US()
    1077             :         {
    1078           2 :             check( RTL_TEXTENCODING_ASCII_US, RTL_TEXTENCODING_MS_1252 );
    1079           2 :         }
    1080             : 
    1081           2 :         void WindowsCharsetFromTextEncoding_ISO_8859_1()
    1082             :         {
    1083           2 :             check( RTL_TEXTENCODING_ISO_8859_1, RTL_TEXTENCODING_MS_1252 );
    1084           2 :         }
    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           2 :         void WindowsCharsetFromTextEncoding_ISO_8859_3()
    1092             :         {
    1093           2 :             check( RTL_TEXTENCODING_ISO_8859_3, RTL_TEXTENCODING_MS_1252 );
    1094           2 :         }
    1095             : 
    1096           2 :         void WindowsCharsetFromTextEncoding_ISO_8859_4()
    1097             :         {
    1098           2 :             check( RTL_TEXTENCODING_ISO_8859_4, RTL_TEXTENCODING_MS_1257 );
    1099           2 :         }
    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           2 :         void WindowsCharsetFromTextEncoding_ISO_8859_14()
    1127             :         {
    1128           2 :             check( RTL_TEXTENCODING_ISO_8859_14, RTL_TEXTENCODING_MS_1252 );
    1129           2 :         }
    1130             : 
    1131           2 :         void WindowsCharsetFromTextEncoding_ISO_8859_15()
    1132             :         {
    1133           2 :             check( RTL_TEXTENCODING_ISO_8859_15, RTL_TEXTENCODING_MS_1252 );
    1134           2 :         }
    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           2 :         void WindowsCharsetFromTextEncoding_APPLE_ICELAND()
    1277             :         {
    1278           2 :             check( RTL_TEXTENCODING_APPLE_ICELAND, RTL_TEXTENCODING_MS_1252 );
    1279           2 :         }
    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           2 :         void WindowsCharsetFromTextEncoding_UTF7()
    1397             :         {
    1398           2 :             check( RTL_TEXTENCODING_UTF7, RTL_TEXTENCODING_MS_1252 );
    1399           2 :         }
    1400             : 
    1401           2 :         void WindowsCharsetFromTextEncoding_UTF8()
    1402             :         {
    1403           2 :             check( RTL_TEXTENCODING_UTF8, RTL_TEXTENCODING_MS_1252 );
    1404           2 :         }
    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           2 :         void WindowsCharsetFromTextEncoding_JAVA_UTF8()
    1472             :         {
    1473           2 :             check( RTL_TEXTENCODING_JAVA_UTF8, RTL_TEXTENCODING_MS_1252 );
    1474           2 :         }
    1475             : 
    1476           4 :         CPPUNIT_TEST_SUITE( testBestWindows );
    1477           2 :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_MS_1252 );
    1478           2 :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_APPLE_ROMAN );
    1479           2 :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_IBM_437 );
    1480           2 :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_IBM_850 );
    1481           2 :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_IBM_860 );
    1482           2 :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_IBM_861 );
    1483           2 :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_IBM_863 );
    1484           2 :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_IBM_865 );
    1485           2 :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_SYMBOL );
    1486           2 :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_ASCII_US );
    1487           2 :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_ISO_8859_1 );
    1488             : #if 0
    1489             :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_ISO_8859_2 );
    1490             : #endif
    1491           2 :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_ISO_8859_3 );
    1492           2 :         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           2 :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_ISO_8859_14 );
    1501           2 :         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           2 :         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           2 :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_UTF7 );
    1559           2 :         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           2 :         CPPUNIT_TEST( WindowsCharsetFromTextEncoding_JAVA_UTF8 );
    1576             : 
    1577           4 :         CPPUNIT_TEST_SUITE_END( );
    1578             :     };
    1579             : 
    1580           6 :     class testTextEncodingInfo: public CppUnit::TestFixture
    1581             :     {
    1582             :     public:
    1583             :         // initialise your test code values here.
    1584           2 :         void setUp() SAL_OVERRIDE
    1585             :             {
    1586           2 :             }
    1587             : 
    1588           2 :         void tearDown() SAL_OVERRIDE
    1589             :             {
    1590           2 :             }
    1591             : 
    1592             :         // not implemented encoding test
    1593           2 :         void testTextEncodingInfo_001()
    1594             :             {
    1595             :                 rtl_TextEncodingInfo aInfo1, aInfo2, aInfo3, aInfo4, aInfo5;
    1596           2 :                 aInfo1.StructSize = 4;
    1597             :                 // not implemented
    1598           2 :                 bool bRes1 = rtl_getTextEncodingInfo( RTL_TEXTENCODING_APPLE_ARABIC, &aInfo1 );
    1599             :                 // implemented
    1600           2 :                 bool bRes11 = rtl_getTextEncodingInfo( RTL_TEXTENCODING_APPLE_CYRILLIC, &aInfo1 );
    1601           2 :                 CPPUNIT_ASSERT_MESSAGE("should return sal_False.", !bRes1 && !bRes11);
    1602             : 
    1603           2 :                 aInfo2.StructSize = 5;
    1604           2 :                 bool bRes2 = rtl_getTextEncodingInfo( RTL_TEXTENCODING_APPLE_ARABIC, &aInfo2 );
    1605           2 :                 bool bRes21 = rtl_getTextEncodingInfo( RTL_TEXTENCODING_APPLE_CYRILLIC, &aInfo2 );
    1606           2 :                 CPPUNIT_ASSERT_MESSAGE("StructSize<6 should return sal_True", bRes2 && bRes21 && aInfo2.MinimumCharSize >=1 );
    1607             : 
    1608           2 :                 aInfo3.StructSize = 6;
    1609           2 :                 bool bRes3 = rtl_getTextEncodingInfo( RTL_TEXTENCODING_APPLE_ARABIC, &aInfo3 );
    1610           2 :                 bool bRes31 = rtl_getTextEncodingInfo( RTL_TEXTENCODING_APPLE_CYRILLIC, &aInfo3 );
    1611           2 :                 CPPUNIT_ASSERT_MESSAGE("StructSize<6 should return sal_True", bRes3 && bRes31);
    1612             : //&& aInfo2.MinimumCharSize >=1 );
    1613             : 
    1614           2 :                 aInfo4.StructSize = 8;
    1615           2 :                 bool bRes4 = rtl_getTextEncodingInfo( RTL_TEXTENCODING_APPLE_ARABIC, &aInfo4 );
    1616           2 :                 bool bRes41 = rtl_getTextEncodingInfo( RTL_TEXTENCODING_APPLE_CYRILLIC, &aInfo4);
    1617           2 :                CPPUNIT_ASSERT_MESSAGE("StructSize<6 should return sal_True", bRes4 && bRes41);
    1618             : // && aInfo2.MinimumCharSize >=1 );
    1619             : 
    1620           2 :         aInfo5.StructSize = sizeof aInfo5;
    1621           2 :                 bool bRes5 = rtl_getTextEncodingInfo( RTL_TEXTENCODING_APPLE_ARABIC, &aInfo5 );
    1622           2 :                 CPPUNIT_ASSERT_MESSAGE("StructSize<6 should return sal_True", !bRes5 && aInfo5.Flags == 0);
    1623             : 
    1624           2 :             }
    1625           4 :         CPPUNIT_TEST_SUITE(testTextEncodingInfo);
    1626           2 :         CPPUNIT_TEST(testTextEncodingInfo_001);
    1627           4 :         CPPUNIT_TEST_SUITE_END();
    1628             :     };
    1629             : 
    1630          12 :     class testEncodingFromUnix: public CppUnit::TestFixture
    1631             :     {
    1632             :     public:
    1633           2 :         void testIso8859() {
    1634           2 :             check(RTL_TEXTENCODING_DONTKNOW, "ISO8859");
    1635           2 :             check(RTL_TEXTENCODING_DONTKNOW, "ISO8859-0");
    1636           2 :             check(RTL_TEXTENCODING_DONTKNOW, "ISO8859-01");
    1637           2 :             check(RTL_TEXTENCODING_DONTKNOW, "ISO8859_1");
    1638           2 :             check(RTL_TEXTENCODING_DONTKNOW, "ISO88591");
    1639           2 :             check(RTL_TEXTENCODING_ISO_8859_1, "ISO8859-1");
    1640           2 :             check(RTL_TEXTENCODING_ISO_8859_2, "ISO8859-2");
    1641           2 :             check(RTL_TEXTENCODING_ISO_8859_3, "ISO8859-3");
    1642           2 :             check(RTL_TEXTENCODING_ISO_8859_4, "ISO8859-4");
    1643           2 :             check(RTL_TEXTENCODING_ISO_8859_5, "ISO8859-5");
    1644           2 :             check(RTL_TEXTENCODING_ISO_8859_6, "ISO8859-6");
    1645           2 :             check(RTL_TEXTENCODING_ISO_8859_7, "ISO8859-7");
    1646           2 :             check(RTL_TEXTENCODING_ISO_8859_8, "ISO8859-8");
    1647           2 :             check(RTL_TEXTENCODING_ISO_8859_9, "ISO8859-9");
    1648           2 :             check(RTL_TEXTENCODING_ISO_8859_10, "ISO8859-10");
    1649           2 :             check(RTL_TEXTENCODING_TIS_620, "ISO8859-11");
    1650           2 :             check(RTL_TEXTENCODING_ISO_8859_13, "ISO8859-13");
    1651           2 :             check(RTL_TEXTENCODING_ISO_8859_14, "ISO8859-14");
    1652           2 :             check(RTL_TEXTENCODING_ISO_8859_15, "ISO8859-15");
    1653           2 :         }
    1654             : 
    1655           2 :         void testTis620() {
    1656           2 :             check(RTL_TEXTENCODING_DONTKNOW, "TIS620");
    1657           2 :             check(RTL_TEXTENCODING_TIS_620, "TIS620-0");
    1658           2 :             check(RTL_TEXTENCODING_DONTKNOW, "TIS620-1");
    1659           2 :             check(RTL_TEXTENCODING_TIS_620, "TIS620-2529");
    1660           2 :             check(RTL_TEXTENCODING_TIS_620, "TIS620-2533");
    1661           2 :             check(RTL_TEXTENCODING_DONTKNOW, "TIS620.2529-0");
    1662           2 :             check(RTL_TEXTENCODING_TIS_620, "TIS620.2529-1");
    1663           2 :             check(RTL_TEXTENCODING_DONTKNOW, "TIS620.2529-2");
    1664           2 :             check(RTL_TEXTENCODING_TIS_620, "TIS620.2533-0");
    1665           2 :             check(RTL_TEXTENCODING_TIS_620, "TIS620.2533-1");
    1666           2 :             check(RTL_TEXTENCODING_DONTKNOW, "TIS620.2533-2");
    1667           2 :         }
    1668             : 
    1669           4 :         CPPUNIT_TEST_SUITE(testEncodingFromUnix);
    1670           2 :         CPPUNIT_TEST(testIso8859);
    1671           2 :         CPPUNIT_TEST(testTis620);
    1672           4 :         CPPUNIT_TEST_SUITE_END();
    1673             : 
    1674             :     private:
    1675          60 :         void check(rtl_TextEncoding expected, char const * input) {
    1676         120 :             CPPUNIT_ASSERT_EQUAL_MESSAGE(
    1677          60 :                 input, expected, rtl_getTextEncodingFromUnixCharset(input));
    1678          60 :         }
    1679             :     };
    1680             : 
    1681             : }
    1682             : 
    1683           2 : CPPUNIT_TEST_SUITE_REGISTRATION(testBestMime);
    1684           2 : CPPUNIT_TEST_SUITE_REGISTRATION(testBestUnix);
    1685           2 : CPPUNIT_TEST_SUITE_REGISTRATION(testBestWindows);
    1686           2 : CPPUNIT_TEST_SUITE_REGISTRATION(testTextEncodingInfo);
    1687           2 : CPPUNIT_TEST_SUITE_REGISTRATION(testEncodingFromUnix);
    1688             : 
    1689           8 : CPPUNIT_PLUGIN_IMPLEMENT();
    1690             : 
    1691             : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */

Generated by: LCOV version 1.10