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

Generated by: LCOV version 1.10