1
0
Fork 0
libreoffice/sal/qa/rtl/textenc/rtl_tencinfo.cxx
Daniel Baumann 8e63e14cf6
Adding upstream version 4:25.2.3.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
2025-06-22 16:20:04 +02:00

1671 lines
62 KiB
C++

/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice:
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed
* with this work for additional information regarding copyright
* ownership. The ASF licenses this file to you under the Apache
* License, Version 2.0 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
#include <config_locales.h>
#include <rtl/tencinfo.h>
#include <cppunit/TestFixture.h>
#include <cppunit/extensions/HelperMacros.h>
namespace
{
class testBestMime : public CppUnit::TestFixture
{
public:
void check(rtl_TextEncoding eIn, rtl_TextEncoding eOut)
{
const char *pCharSet = rtl_getBestMimeCharsetFromTextEncoding(eIn);
rtl_TextEncoding eTextEnc = rtl_getTextEncodingFromMimeCharset(pCharSet);
CPPUNIT_ASSERT_EQUAL_MESSAGE("rtl_getBestMimeCharsetFromTextEncoding && rtl_getTextEncodingFromMimeCharset differdiffer", eOut, eTextEnc );
}
// the defines for the follows test could be found in file inc/rtl/textenc.h
void MimeCharsetFromTextEncoding_MS_1252()
{
check( RTL_TEXTENCODING_MS_1252, RTL_TEXTENCODING_MS_1252 );
}
void MimeCharsetFromTextEncoding_APPLE_ROMAN()
{
check( RTL_TEXTENCODING_APPLE_ROMAN, RTL_TEXTENCODING_APPLE_ROMAN);
}
void MimeCharsetFromTextEncoding_IBM_437()
{
check( RTL_TEXTENCODING_IBM_437, RTL_TEXTENCODING_IBM_437 );
}
void MimeCharsetFromTextEncoding_IBM_850()
{
check( RTL_TEXTENCODING_IBM_850, RTL_TEXTENCODING_IBM_850 );
}
void MimeCharsetFromTextEncoding_IBM_860()
{
check( RTL_TEXTENCODING_IBM_860, RTL_TEXTENCODING_IBM_860 );
}
void MimeCharsetFromTextEncoding_IBM_861()
{
check( RTL_TEXTENCODING_IBM_861, RTL_TEXTENCODING_IBM_861 );
}
void MimeCharsetFromTextEncoding_IBM_863()
{
check( RTL_TEXTENCODING_IBM_863, RTL_TEXTENCODING_IBM_863 );
}
void MimeCharsetFromTextEncoding_IBM_865()
{
check( RTL_TEXTENCODING_IBM_865, RTL_TEXTENCODING_IBM_865 );
}
void MimeCharsetFromTextEncoding_SYMBOL()
{
check( RTL_TEXTENCODING_SYMBOL, RTL_TEXTENCODING_DONTKNOW );
}
void MimeCharsetFromTextEncoding_ASCII_US()
{
check( RTL_TEXTENCODING_ASCII_US, RTL_TEXTENCODING_ASCII_US );
}
void MimeCharsetFromTextEncoding_ISO_8859_1()
{
check( RTL_TEXTENCODING_ISO_8859_1, RTL_TEXTENCODING_ISO_8859_1 );
}
void MimeCharsetFromTextEncoding_ISO_8859_2()
{
check( RTL_TEXTENCODING_ISO_8859_2, RTL_TEXTENCODING_ISO_8859_2 );
}
void MimeCharsetFromTextEncoding_ISO_8859_3()
{
check( RTL_TEXTENCODING_ISO_8859_3, RTL_TEXTENCODING_ISO_8859_3 );
}
void MimeCharsetFromTextEncoding_ISO_8859_4()
{
check( RTL_TEXTENCODING_ISO_8859_4, RTL_TEXTENCODING_ISO_8859_4 );
}
void MimeCharsetFromTextEncoding_ISO_8859_5()
{
check( RTL_TEXTENCODING_ISO_8859_5, RTL_TEXTENCODING_ISO_8859_5 );
}
void MimeCharsetFromTextEncoding_ISO_8859_6()
{
check( RTL_TEXTENCODING_ISO_8859_6, RTL_TEXTENCODING_ISO_8859_6 );
}
void MimeCharsetFromTextEncoding_ISO_8859_7()
{
check( RTL_TEXTENCODING_ISO_8859_7, RTL_TEXTENCODING_ISO_8859_7 );
}
void MimeCharsetFromTextEncoding_ISO_8859_8()
{
check( RTL_TEXTENCODING_ISO_8859_8, RTL_TEXTENCODING_ISO_8859_8 );
}
void MimeCharsetFromTextEncoding_ISO_8859_9()
{
check( RTL_TEXTENCODING_ISO_8859_9, RTL_TEXTENCODING_ISO_8859_9 );
}
void MimeCharsetFromTextEncoding_ISO_8859_14()
{
check( RTL_TEXTENCODING_ISO_8859_14, RTL_TEXTENCODING_ISO_8859_14 );
}
void MimeCharsetFromTextEncoding_ISO_8859_15()
{
check( RTL_TEXTENCODING_ISO_8859_15, RTL_TEXTENCODING_ISO_8859_15 );
}
void MimeCharsetFromTextEncoding_IBM_737()
{
check( RTL_TEXTENCODING_IBM_737, RTL_TEXTENCODING_ISO_8859_7 );
}
void MimeCharsetFromTextEncoding_IBM_775()
{
check( RTL_TEXTENCODING_IBM_775, RTL_TEXTENCODING_ISO_8859_4 );
}
void MimeCharsetFromTextEncoding_IBM_852()
{
check( RTL_TEXTENCODING_IBM_852, RTL_TEXTENCODING_IBM_852 );
}
void MimeCharsetFromTextEncoding_IBM_855()
{
check( RTL_TEXTENCODING_IBM_855, RTL_TEXTENCODING_ISO_8859_5 );
}
void MimeCharsetFromTextEncoding_IBM_857()
{
check( RTL_TEXTENCODING_IBM_857, RTL_TEXTENCODING_ISO_8859_9 );
}
void MimeCharsetFromTextEncoding_IBM_862()
{
check( RTL_TEXTENCODING_IBM_862, RTL_TEXTENCODING_IBM_862 );
}
void MimeCharsetFromTextEncoding_IBM_864()
{
check( RTL_TEXTENCODING_IBM_864, RTL_TEXTENCODING_IBM_864 );
}
void MimeCharsetFromTextEncoding_IBM_866()
{
check( RTL_TEXTENCODING_IBM_866, RTL_TEXTENCODING_IBM_866 );
}
void MimeCharsetFromTextEncoding_IBM_869()
{
check( RTL_TEXTENCODING_IBM_869, RTL_TEXTENCODING_ISO_8859_7 );
}
void MimeCharsetFromTextEncoding_MS_874()
{
check( RTL_TEXTENCODING_MS_874, RTL_TEXTENCODING_MS_874 );
}
void MimeCharsetFromTextEncoding_MS_1250()
{
check( RTL_TEXTENCODING_MS_1250, RTL_TEXTENCODING_MS_1250 );
}
void MimeCharsetFromTextEncoding_MS_1251()
{
check( RTL_TEXTENCODING_MS_1251, RTL_TEXTENCODING_MS_1251 );
}
void MimeCharsetFromTextEncoding_MS_1253()
{
check( RTL_TEXTENCODING_MS_1253, RTL_TEXTENCODING_MS_1253 );
}
void MimeCharsetFromTextEncoding_MS_1254()
{
check( RTL_TEXTENCODING_MS_1254, RTL_TEXTENCODING_MS_1254 );
}
void MimeCharsetFromTextEncoding_MS_1255()
{
check( RTL_TEXTENCODING_MS_1255, RTL_TEXTENCODING_MS_1255 );
}
void MimeCharsetFromTextEncoding_MS_1256()
{
check( RTL_TEXTENCODING_MS_1256, RTL_TEXTENCODING_MS_1256 );
}
void MimeCharsetFromTextEncoding_MS_1257()
{
check( RTL_TEXTENCODING_MS_1257, RTL_TEXTENCODING_MS_1257 );
}
void MimeCharsetFromTextEncoding_MS_1258()
{
check( RTL_TEXTENCODING_MS_1258, RTL_TEXTENCODING_MS_1258 );
}
void MimeCharsetFromTextEncoding_APPLE_CENTEURO()
{
check( RTL_TEXTENCODING_APPLE_CENTEURO, RTL_TEXTENCODING_ISO_8859_2 );
}
void MimeCharsetFromTextEncoding_APPLE_CROATIAN()
{
check( RTL_TEXTENCODING_APPLE_CROATIAN, RTL_TEXTENCODING_ISO_8859_2 );
}
void MimeCharsetFromTextEncoding_APPLE_CYRILLIC()
{
check( RTL_TEXTENCODING_APPLE_CYRILLIC, RTL_TEXTENCODING_ISO_8859_5 );
}
void MimeCharsetFromTextEncoding_APPLE_GREEK()
{
check( RTL_TEXTENCODING_APPLE_GREEK, RTL_TEXTENCODING_ISO_8859_7 );
}
void MimeCharsetFromTextEncoding_APPLE_ICELAND()
{
check( RTL_TEXTENCODING_APPLE_ICELAND, RTL_TEXTENCODING_ISO_8859_1 );
}
void MimeCharsetFromTextEncoding_APPLE_ROMANIAN()
{
check( RTL_TEXTENCODING_APPLE_ROMANIAN, RTL_TEXTENCODING_ISO_8859_2 );
}
void MimeCharsetFromTextEncoding_APPLE_TURKISH()
{
check( RTL_TEXTENCODING_APPLE_TURKISH, RTL_TEXTENCODING_ISO_8859_9 );
}
void MimeCharsetFromTextEncoding_APPLE_UKRAINIAN()
{
check( RTL_TEXTENCODING_APPLE_UKRAINIAN, RTL_TEXTENCODING_ISO_8859_5 );
}
void MimeCharsetFromTextEncoding_MS_932()
{
check( RTL_TEXTENCODING_MS_932, RTL_TEXTENCODING_SHIFT_JIS );
}
void MimeCharsetFromTextEncoding_MS_936()
{
check( RTL_TEXTENCODING_MS_936, RTL_TEXTENCODING_GB_2312 );
}
void MimeCharsetFromTextEncoding_MS_949()
{
check( RTL_TEXTENCODING_MS_949, RTL_TEXTENCODING_EUC_KR );
}
void MimeCharsetFromTextEncoding_MS_950()
{
check( RTL_TEXTENCODING_MS_950, RTL_TEXTENCODING_BIG5 );
}
void MimeCharsetFromTextEncoding_KOI8_R()
{
check( RTL_TEXTENCODING_KOI8_R, RTL_TEXTENCODING_KOI8_R );
}
void MimeCharsetFromTextEncoding_UTF7()
{
check( RTL_TEXTENCODING_UTF7, RTL_TEXTENCODING_UTF7 );
}
void MimeCharsetFromTextEncoding_UTF8()
{
check( RTL_TEXTENCODING_UTF8, RTL_TEXTENCODING_UTF8 );
}
void MimeCharsetFromTextEncoding_ISO_8859_10()
{
check( RTL_TEXTENCODING_ISO_8859_10, RTL_TEXTENCODING_ISO_8859_10 );
}
void MimeCharsetFromTextEncoding_ISO_8859_13()
{
check( RTL_TEXTENCODING_ISO_8859_13, RTL_TEXTENCODING_ISO_8859_13 );
}
void MimeCharsetFromTextEncoding_MS_1361()
{
check( RTL_TEXTENCODING_MS_1361, RTL_TEXTENCODING_EUC_KR );
}
void MimeCharsetFromTextEncoding_TIS_620()
{
check( RTL_TEXTENCODING_TIS_620, RTL_TEXTENCODING_TIS_620 );
}
void MimeCharsetFromTextEncoding_KOI8_U()
{
check( RTL_TEXTENCODING_KOI8_U, RTL_TEXTENCODING_KOI8_U );
}
#if WITH_LOCALE_ALL || WITH_LOCALE_ja
void MimeCharsetFromTextEncoding_APPLE_JAPANESE()
{
check( RTL_TEXTENCODING_APPLE_JAPANESE, RTL_TEXTENCODING_SHIFT_JIS );
}
void MimeCharsetFromTextEncoding_SHIFT_JIS()
{
check( RTL_TEXTENCODING_SHIFT_JIS, RTL_TEXTENCODING_SHIFT_JIS );
}
void MimeCharsetFromTextEncoding_EUC_JP()
{
check( RTL_TEXTENCODING_EUC_JP, RTL_TEXTENCODING_EUC_JP );
}
void MimeCharsetFromTextEncoding_ISO_2022_JP()
{
check( RTL_TEXTENCODING_ISO_2022_JP, RTL_TEXTENCODING_ISO_2022_JP );
}
void MimeCharsetFromTextEncoding_JIS_X_0201()
{
check( RTL_TEXTENCODING_JIS_X_0201, RTL_TEXTENCODING_EUC_JP );
}
void MimeCharsetFromTextEncoding_JIS_X_0208()
{
check( RTL_TEXTENCODING_JIS_X_0208, RTL_TEXTENCODING_EUC_JP );
}
void MimeCharsetFromTextEncoding_JIS_X_0212()
{
check( RTL_TEXTENCODING_JIS_X_0212, RTL_TEXTENCODING_EUC_JP );
}
#endif
#if WITH_LOCALE_ALL || WITH_LOCALE_ko
void MimeCharsetFromTextEncoding_APPLE_KOREAN()
{
check( RTL_TEXTENCODING_APPLE_KOREAN, RTL_TEXTENCODING_EUC_KR );
}
void MimeCharsetFromTextEncoding_EUC_KR()
{
check( RTL_TEXTENCODING_EUC_KR, RTL_TEXTENCODING_EUC_KR );
}
void MimeCharsetFromTextEncoding_ISO_2022_KR()
{
check( RTL_TEXTENCODING_ISO_2022_KR, RTL_TEXTENCODING_ISO_2022_KR );
}
#endif
#if WITH_LOCALE_ALL || WITH_LOCALE_zh
void MimeCharsetFromTextEncoding_APPLE_CHINSIMP()
{
check( RTL_TEXTENCODING_APPLE_CHINSIMP, RTL_TEXTENCODING_GB_2312 );
}
void MimeCharsetFromTextEncoding_APPLE_CHINTRAD()
{
check( RTL_TEXTENCODING_APPLE_CHINTRAD, RTL_TEXTENCODING_BIG5 );
}
void MimeCharsetFromTextEncoding_GB_2312()
{
check( RTL_TEXTENCODING_GB_2312, RTL_TEXTENCODING_GB_2312 );
}
void MimeCharsetFromTextEncoding_GBT_12345()
{
check( RTL_TEXTENCODING_GBT_12345, RTL_TEXTENCODING_GBT_12345 );
}
void MimeCharsetFromTextEncoding_GBK()
{
check( RTL_TEXTENCODING_GBK, RTL_TEXTENCODING_GBK );
}
void MimeCharsetFromTextEncoding_BIG5()
{
check( RTL_TEXTENCODING_BIG5, RTL_TEXTENCODING_BIG5 );
}
void MimeCharsetFromTextEncoding_EUC_CN()
{
check( RTL_TEXTENCODING_EUC_CN, RTL_TEXTENCODING_GB_2312 );
}
void MimeCharsetFromTextEncoding_EUC_TW()
{
check( RTL_TEXTENCODING_EUC_TW, RTL_TEXTENCODING_BIG5 );
}
void MimeCharsetFromTextEncoding_ISO_2022_CN()
{
check( RTL_TEXTENCODING_ISO_2022_CN, RTL_TEXTENCODING_ISO_2022_CN );
}
void MimeCharsetFromTextEncoding_GB_18030()
{
check( RTL_TEXTENCODING_GB_18030, RTL_TEXTENCODING_GB_18030 );
}
void MimeCharsetFromTextEncoding_BIG5_HKSCS()
{
check( RTL_TEXTENCODING_BIG5_HKSCS, RTL_TEXTENCODING_BIG5_HKSCS );
}
#endif
#if WITH_LOCALE_ALL || WITH_LOCALE_FOR_SCRIPT_Deva
void MimeCharsetFromTextEncoding_ISCII_DEVANAGARI()
{
check( RTL_TEXTENCODING_ISCII_DEVANAGARI, RTL_TEXTENCODING_ISCII_DEVANAGARI );
}
#endif
CPPUNIT_TEST_SUITE( testBestMime );
CPPUNIT_TEST( MimeCharsetFromTextEncoding_MS_1252 );
CPPUNIT_TEST( MimeCharsetFromTextEncoding_APPLE_ROMAN );
CPPUNIT_TEST( MimeCharsetFromTextEncoding_IBM_437 );
CPPUNIT_TEST( MimeCharsetFromTextEncoding_IBM_850 );
CPPUNIT_TEST( MimeCharsetFromTextEncoding_IBM_860 );
CPPUNIT_TEST( MimeCharsetFromTextEncoding_IBM_861 );
CPPUNIT_TEST( MimeCharsetFromTextEncoding_IBM_863 );
CPPUNIT_TEST( MimeCharsetFromTextEncoding_IBM_865 );
CPPUNIT_TEST( MimeCharsetFromTextEncoding_SYMBOL );
CPPUNIT_TEST( MimeCharsetFromTextEncoding_ASCII_US );
CPPUNIT_TEST( MimeCharsetFromTextEncoding_ISO_8859_1 );
CPPUNIT_TEST( MimeCharsetFromTextEncoding_ISO_8859_2 );
CPPUNIT_TEST( MimeCharsetFromTextEncoding_ISO_8859_3 );
CPPUNIT_TEST( MimeCharsetFromTextEncoding_ISO_8859_4 );
CPPUNIT_TEST( MimeCharsetFromTextEncoding_ISO_8859_5 );
CPPUNIT_TEST( MimeCharsetFromTextEncoding_ISO_8859_6 );
CPPUNIT_TEST( MimeCharsetFromTextEncoding_ISO_8859_7 );
CPPUNIT_TEST( MimeCharsetFromTextEncoding_ISO_8859_8 );
CPPUNIT_TEST( MimeCharsetFromTextEncoding_ISO_8859_9 );
CPPUNIT_TEST( MimeCharsetFromTextEncoding_ISO_8859_14 );
CPPUNIT_TEST( MimeCharsetFromTextEncoding_ISO_8859_15 );
CPPUNIT_TEST( MimeCharsetFromTextEncoding_IBM_737 );
CPPUNIT_TEST( MimeCharsetFromTextEncoding_IBM_775 );
CPPUNIT_TEST( MimeCharsetFromTextEncoding_IBM_852 );
CPPUNIT_TEST( MimeCharsetFromTextEncoding_IBM_855 );
CPPUNIT_TEST( MimeCharsetFromTextEncoding_IBM_857 );
CPPUNIT_TEST( MimeCharsetFromTextEncoding_IBM_862 );
CPPUNIT_TEST( MimeCharsetFromTextEncoding_IBM_864 );
CPPUNIT_TEST( MimeCharsetFromTextEncoding_IBM_866 );
CPPUNIT_TEST( MimeCharsetFromTextEncoding_IBM_869 );
CPPUNIT_TEST( MimeCharsetFromTextEncoding_MS_874 );
CPPUNIT_TEST( MimeCharsetFromTextEncoding_MS_1250 );
CPPUNIT_TEST( MimeCharsetFromTextEncoding_MS_1251 );
CPPUNIT_TEST( MimeCharsetFromTextEncoding_MS_1253 );
CPPUNIT_TEST( MimeCharsetFromTextEncoding_MS_1254 );
CPPUNIT_TEST( MimeCharsetFromTextEncoding_MS_1255 );
CPPUNIT_TEST( MimeCharsetFromTextEncoding_MS_1256 );
CPPUNIT_TEST( MimeCharsetFromTextEncoding_MS_1257 );
CPPUNIT_TEST( MimeCharsetFromTextEncoding_MS_1258 );
CPPUNIT_TEST( MimeCharsetFromTextEncoding_APPLE_CENTEURO );
CPPUNIT_TEST( MimeCharsetFromTextEncoding_APPLE_CROATIAN );
CPPUNIT_TEST( MimeCharsetFromTextEncoding_APPLE_CYRILLIC );
CPPUNIT_TEST( MimeCharsetFromTextEncoding_APPLE_GREEK );
CPPUNIT_TEST( MimeCharsetFromTextEncoding_APPLE_ICELAND );
CPPUNIT_TEST( MimeCharsetFromTextEncoding_APPLE_ROMANIAN );
CPPUNIT_TEST( MimeCharsetFromTextEncoding_APPLE_TURKISH );
CPPUNIT_TEST( MimeCharsetFromTextEncoding_APPLE_UKRAINIAN );
CPPUNIT_TEST( MimeCharsetFromTextEncoding_MS_932 );
CPPUNIT_TEST( MimeCharsetFromTextEncoding_MS_936 );
CPPUNIT_TEST( MimeCharsetFromTextEncoding_MS_949 );
CPPUNIT_TEST( MimeCharsetFromTextEncoding_MS_950 );
CPPUNIT_TEST( MimeCharsetFromTextEncoding_KOI8_R );
CPPUNIT_TEST( MimeCharsetFromTextEncoding_UTF7 );
CPPUNIT_TEST( MimeCharsetFromTextEncoding_UTF8 );
CPPUNIT_TEST( MimeCharsetFromTextEncoding_ISO_8859_10 );
CPPUNIT_TEST( MimeCharsetFromTextEncoding_ISO_8859_13 );
CPPUNIT_TEST( MimeCharsetFromTextEncoding_MS_1361 );
CPPUNIT_TEST( MimeCharsetFromTextEncoding_TIS_620 );
CPPUNIT_TEST( MimeCharsetFromTextEncoding_KOI8_U );
#if WITH_LOCALE_ALL || WITH_LOCALE_ja
CPPUNIT_TEST( MimeCharsetFromTextEncoding_APPLE_JAPANESE );
CPPUNIT_TEST( MimeCharsetFromTextEncoding_SHIFT_JIS );
CPPUNIT_TEST( MimeCharsetFromTextEncoding_EUC_JP );
CPPUNIT_TEST( MimeCharsetFromTextEncoding_ISO_2022_JP );
CPPUNIT_TEST( MimeCharsetFromTextEncoding_JIS_X_0201 );
CPPUNIT_TEST( MimeCharsetFromTextEncoding_JIS_X_0208 );
CPPUNIT_TEST( MimeCharsetFromTextEncoding_JIS_X_0212 );
#endif
#if WITH_LOCALE_ALL || WITH_LOCALE_ko
CPPUNIT_TEST( MimeCharsetFromTextEncoding_APPLE_KOREAN );
CPPUNIT_TEST( MimeCharsetFromTextEncoding_EUC_KR );
CPPUNIT_TEST( MimeCharsetFromTextEncoding_ISO_2022_KR );
#endif
#if WITH_LOCALE_ALL || WITH_LOCALE_zh
CPPUNIT_TEST( MimeCharsetFromTextEncoding_APPLE_CHINSIMP );
CPPUNIT_TEST( MimeCharsetFromTextEncoding_APPLE_CHINTRAD );
CPPUNIT_TEST( MimeCharsetFromTextEncoding_GB_2312 );
CPPUNIT_TEST( MimeCharsetFromTextEncoding_GBT_12345 );
CPPUNIT_TEST( MimeCharsetFromTextEncoding_GBK );
CPPUNIT_TEST( MimeCharsetFromTextEncoding_BIG5 );
CPPUNIT_TEST( MimeCharsetFromTextEncoding_EUC_CN );
CPPUNIT_TEST( MimeCharsetFromTextEncoding_EUC_TW );
CPPUNIT_TEST( MimeCharsetFromTextEncoding_ISO_2022_CN );
CPPUNIT_TEST( MimeCharsetFromTextEncoding_GB_18030 );
CPPUNIT_TEST( MimeCharsetFromTextEncoding_BIG5_HKSCS );
#endif
#if WITH_LOCALE_ALL || WITH_LOCALE_FOR_SCRIPT_Deva
CPPUNIT_TEST( MimeCharsetFromTextEncoding_ISCII_DEVANAGARI );
#endif
CPPUNIT_TEST_SUITE_END( );
};
class testBestUnix : public CppUnit::TestFixture
{
public:
void check(rtl_TextEncoding eIn, rtl_TextEncoding eOut)
{
const char *pCharSet = rtl_getBestUnixCharsetFromTextEncoding(eIn);
rtl_TextEncoding eTextEnc = rtl_getTextEncodingFromUnixCharset(pCharSet);
CPPUNIT_ASSERT_EQUAL_MESSAGE("rtl_getBestUnixCharsetFromTextEncoding && rtl_getTextEncodingFromUnixCharset", eOut, eTextEnc );
}
void UnixCharsetFromTextEncoding_MS_1252()
{
check( RTL_TEXTENCODING_MS_1252, RTL_TEXTENCODING_ISO_8859_1 );
}
void UnixCharsetFromTextEncoding_APPLE_ROMAN()
{
check( RTL_TEXTENCODING_APPLE_ROMAN, RTL_TEXTENCODING_ISO_8859_1 );
}
void UnixCharsetFromTextEncoding_IBM_437()
{
check( RTL_TEXTENCODING_IBM_437, RTL_TEXTENCODING_ISO_8859_1 );
}
void UnixCharsetFromTextEncoding_IBM_850()
{
check( RTL_TEXTENCODING_IBM_850, RTL_TEXTENCODING_ISO_8859_1 );
}
void UnixCharsetFromTextEncoding_IBM_860()
{
check( RTL_TEXTENCODING_IBM_860, RTL_TEXTENCODING_ISO_8859_1 );
}
void UnixCharsetFromTextEncoding_IBM_861()
{
check( RTL_TEXTENCODING_IBM_861, RTL_TEXTENCODING_ISO_8859_1 );
}
void UnixCharsetFromTextEncoding_IBM_863()
{
check( RTL_TEXTENCODING_IBM_863, RTL_TEXTENCODING_ISO_8859_1 );
}
void UnixCharsetFromTextEncoding_IBM_865()
{
check( RTL_TEXTENCODING_IBM_865, RTL_TEXTENCODING_ISO_8859_1 );
}
void UnixCharsetFromTextEncoding_SYMBOL()
{
check( RTL_TEXTENCODING_SYMBOL, RTL_TEXTENCODING_SYMBOL );
}
void UnixCharsetFromTextEncoding_ASCII_US()
{
check( RTL_TEXTENCODING_ASCII_US, RTL_TEXTENCODING_ISO_8859_1 );
}
void UnixCharsetFromTextEncoding_ISO_8859_1()
{
check( RTL_TEXTENCODING_ISO_8859_1, RTL_TEXTENCODING_ISO_8859_1 );
}
void UnixCharsetFromTextEncoding_ISO_8859_2()
{
check( RTL_TEXTENCODING_ISO_8859_2, RTL_TEXTENCODING_ISO_8859_2 );
}
void UnixCharsetFromTextEncoding_ISO_8859_3()
{
check( RTL_TEXTENCODING_ISO_8859_3, RTL_TEXTENCODING_ISO_8859_3 );
}
void UnixCharsetFromTextEncoding_ISO_8859_4()
{
check( RTL_TEXTENCODING_ISO_8859_4, RTL_TEXTENCODING_ISO_8859_4 );
}
void UnixCharsetFromTextEncoding_ISO_8859_5()
{
check( RTL_TEXTENCODING_ISO_8859_5, RTL_TEXTENCODING_ISO_8859_5 );
}
void UnixCharsetFromTextEncoding_ISO_8859_6()
{
check( RTL_TEXTENCODING_ISO_8859_6, RTL_TEXTENCODING_ISO_8859_6 );
}
void UnixCharsetFromTextEncoding_ISO_8859_7()
{
check( RTL_TEXTENCODING_ISO_8859_7, RTL_TEXTENCODING_ISO_8859_7 );
}
void UnixCharsetFromTextEncoding_ISO_8859_8()
{
check( RTL_TEXTENCODING_ISO_8859_8, RTL_TEXTENCODING_ISO_8859_8 );
}
void UnixCharsetFromTextEncoding_ISO_8859_9()
{
check( RTL_TEXTENCODING_ISO_8859_9, RTL_TEXTENCODING_ISO_8859_9 );
}
void UnixCharsetFromTextEncoding_ISO_8859_14()
{
check( RTL_TEXTENCODING_ISO_8859_14, RTL_TEXTENCODING_ISO_8859_14 );
}
void UnixCharsetFromTextEncoding_ISO_8859_15()
{
check( RTL_TEXTENCODING_ISO_8859_15, RTL_TEXTENCODING_ISO_8859_15 );
}
void UnixCharsetFromTextEncoding_IBM_737()
{
check( RTL_TEXTENCODING_IBM_737, RTL_TEXTENCODING_ISO_8859_7 );
}
void UnixCharsetFromTextEncoding_IBM_775()
{
check( RTL_TEXTENCODING_IBM_775, RTL_TEXTENCODING_ISO_8859_4 );
}
void UnixCharsetFromTextEncoding_IBM_852()
{
check( RTL_TEXTENCODING_IBM_852, RTL_TEXTENCODING_ISO_8859_2 );
}
void UnixCharsetFromTextEncoding_IBM_855()
{
check( RTL_TEXTENCODING_IBM_855, RTL_TEXTENCODING_ISO_8859_5 );
}
void UnixCharsetFromTextEncoding_IBM_857()
{
check( RTL_TEXTENCODING_IBM_857, RTL_TEXTENCODING_ISO_8859_9 );
}
void UnixCharsetFromTextEncoding_IBM_862()
{
check( RTL_TEXTENCODING_IBM_862, RTL_TEXTENCODING_ISO_8859_8 );
}
void UnixCharsetFromTextEncoding_IBM_864()
{
check( RTL_TEXTENCODING_IBM_864, RTL_TEXTENCODING_ISO_8859_6 );
}
void UnixCharsetFromTextEncoding_IBM_866()
{
check( RTL_TEXTENCODING_IBM_866, RTL_TEXTENCODING_ISO_8859_5 );
}
void UnixCharsetFromTextEncoding_IBM_869()
{
check( RTL_TEXTENCODING_IBM_869, RTL_TEXTENCODING_ISO_8859_7 );
}
void UnixCharsetFromTextEncoding_MS_874()
{
check( RTL_TEXTENCODING_MS_874, RTL_TEXTENCODING_ISO_8859_1 );
}
void UnixCharsetFromTextEncoding_MS_1250()
{
check( RTL_TEXTENCODING_MS_1250, RTL_TEXTENCODING_ISO_8859_2 );
}
void UnixCharsetFromTextEncoding_MS_1251()
{
check( RTL_TEXTENCODING_MS_1251, RTL_TEXTENCODING_ISO_8859_5 );
}
void UnixCharsetFromTextEncoding_MS_1253()
{
check( RTL_TEXTENCODING_MS_1253, RTL_TEXTENCODING_ISO_8859_7 );
}
void UnixCharsetFromTextEncoding_MS_1254()
{
check( RTL_TEXTENCODING_MS_1254, RTL_TEXTENCODING_ISO_8859_9 );
}
void UnixCharsetFromTextEncoding_MS_1255()
{
check( RTL_TEXTENCODING_MS_1255, RTL_TEXTENCODING_ISO_8859_8 );
}
void UnixCharsetFromTextEncoding_MS_1256()
{
check( RTL_TEXTENCODING_MS_1256, RTL_TEXTENCODING_ISO_8859_6 );
}
void UnixCharsetFromTextEncoding_MS_1257()
{
check( RTL_TEXTENCODING_MS_1257, RTL_TEXTENCODING_ISO_8859_4 );
}
void UnixCharsetFromTextEncoding_MS_1258()
{
check( RTL_TEXTENCODING_MS_1258, RTL_TEXTENCODING_ISO_8859_1 );
}
void UnixCharsetFromTextEncoding_APPLE_CENTEURO()
{
check( RTL_TEXTENCODING_APPLE_CENTEURO, RTL_TEXTENCODING_ISO_8859_2 );
}
void UnixCharsetFromTextEncoding_APPLE_CROATIAN()
{
check( RTL_TEXTENCODING_APPLE_CROATIAN, RTL_TEXTENCODING_ISO_8859_2 );
}
void UnixCharsetFromTextEncoding_APPLE_CYRILLIC()
{
check( RTL_TEXTENCODING_APPLE_CYRILLIC, RTL_TEXTENCODING_ISO_8859_5 );
}
void UnixCharsetFromTextEncoding_APPLE_GREEK()
{
check( RTL_TEXTENCODING_APPLE_GREEK, RTL_TEXTENCODING_ISO_8859_7 );
}
void UnixCharsetFromTextEncoding_APPLE_ICELAND()
{
check( RTL_TEXTENCODING_APPLE_ICELAND, RTL_TEXTENCODING_ISO_8859_1 );
}
void UnixCharsetFromTextEncoding_APPLE_ROMANIAN()
{
check( RTL_TEXTENCODING_APPLE_ROMANIAN, RTL_TEXTENCODING_ISO_8859_2 );
}
void UnixCharsetFromTextEncoding_APPLE_TURKISH()
{
check( RTL_TEXTENCODING_APPLE_TURKISH, RTL_TEXTENCODING_ISO_8859_9 );
}
void UnixCharsetFromTextEncoding_APPLE_UKRAINIAN()
{
check( RTL_TEXTENCODING_APPLE_UKRAINIAN, RTL_TEXTENCODING_ISO_8859_5 );
}
#if WITH_LOCALE_ALL || WITH_LOCALE_zh
void UnixCharsetFromTextEncoding_APPLE_CHINSIMP()
{
check( RTL_TEXTENCODING_APPLE_CHINSIMP, RTL_TEXTENCODING_DONTKNOW );
}
void UnixCharsetFromTextEncoding_APPLE_CHINTRAD()
{
check( RTL_TEXTENCODING_APPLE_CHINTRAD, RTL_TEXTENCODING_DONTKNOW );
}
#endif
#if WITH_LOCALE_ALL || WITH_LOCALE_ja
void UnixCharsetFromTextEncoding_APPLE_JAPANESE()
{
check( RTL_TEXTENCODING_APPLE_JAPANESE, RTL_TEXTENCODING_DONTKNOW );
}
#endif
#if WITH_LOCALE_ALL || WITH_LOCALE_ko
void UnixCharsetFromTextEncoding_APPLE_KOREAN()
{
check( RTL_TEXTENCODING_APPLE_KOREAN, RTL_TEXTENCODING_DONTKNOW );
}
#endif
void UnixCharsetFromTextEncoding_MS_932()
{
check( RTL_TEXTENCODING_MS_932, RTL_TEXTENCODING_DONTKNOW );
}
void UnixCharsetFromTextEncoding_MS_936()
{
check( RTL_TEXTENCODING_MS_936, RTL_TEXTENCODING_DONTKNOW );
}
void UnixCharsetFromTextEncoding_MS_949()
{
check( RTL_TEXTENCODING_MS_949, RTL_TEXTENCODING_DONTKNOW );
}
void UnixCharsetFromTextEncoding_MS_950()
{
check( RTL_TEXTENCODING_MS_950, RTL_TEXTENCODING_DONTKNOW );
}
#if WITH_LOCALE_ALL || WITH_LOCALE_ja
void UnixCharsetFromTextEncoding_SHIFT_JIS()
{
check( RTL_TEXTENCODING_SHIFT_JIS, RTL_TEXTENCODING_DONTKNOW );
}
#endif
#if WITH_LOCALE_ALL || WITH_LOCALE_zh
void UnixCharsetFromTextEncoding_GB_2312()
{
check( RTL_TEXTENCODING_GB_2312, RTL_TEXTENCODING_DONTKNOW );
}
void UnixCharsetFromTextEncoding_GBT_12345()
{
check( RTL_TEXTENCODING_GBT_12345, RTL_TEXTENCODING_DONTKNOW );
}
void UnixCharsetFromTextEncoding_GBK()
{
check( RTL_TEXTENCODING_GBK, RTL_TEXTENCODING_DONTKNOW );
}
void UnixCharsetFromTextEncoding_BIG5()
{
check( RTL_TEXTENCODING_BIG5, RTL_TEXTENCODING_DONTKNOW );
}
#endif
#if WITH_LOCALE_ALL || WITH_LOCALE_ja
void UnixCharsetFromTextEncoding_EUC_JP()
{
check( RTL_TEXTENCODING_EUC_JP, RTL_TEXTENCODING_DONTKNOW );
}
#endif
#if WITH_LOCALE_ALL || WITH_LOCALE_zh
void UnixCharsetFromTextEncoding_EUC_CN()
{
check( RTL_TEXTENCODING_EUC_CN, RTL_TEXTENCODING_DONTKNOW );
}
void UnixCharsetFromTextEncoding_EUC_TW()
{
check( RTL_TEXTENCODING_EUC_TW, RTL_TEXTENCODING_DONTKNOW );
}
#endif
#if WITH_LOCALE_ALL || WITH_LOCALE_ja
void UnixCharsetFromTextEncoding_ISO_2022_JP()
{
check( RTL_TEXTENCODING_ISO_2022_JP, RTL_TEXTENCODING_DONTKNOW );
}
#endif
#if WITH_LOCALE_ALL || WITH_LOCALE_zh
void UnixCharsetFromTextEncoding_ISO_2022_CN()
{
check( RTL_TEXTENCODING_ISO_2022_CN, RTL_TEXTENCODING_DONTKNOW );
}
#endif
void UnixCharsetFromTextEncoding_KOI8_R()
{
check( RTL_TEXTENCODING_KOI8_R, RTL_TEXTENCODING_KOI8_R );
}
void UnixCharsetFromTextEncoding_UTF7()
{
check( RTL_TEXTENCODING_UTF7, RTL_TEXTENCODING_ISO_8859_1 );
}
void UnixCharsetFromTextEncoding_UTF8()
{
check( RTL_TEXTENCODING_UTF8, RTL_TEXTENCODING_ISO_8859_1 );
}
void UnixCharsetFromTextEncoding_ISO_8859_10()
{
check( RTL_TEXTENCODING_ISO_8859_10, RTL_TEXTENCODING_ISO_8859_10 );
}
void UnixCharsetFromTextEncoding_ISO_8859_13()
{
check( RTL_TEXTENCODING_ISO_8859_13, RTL_TEXTENCODING_ISO_8859_13 );
}
#if WITH_LOCALE_ALL || WITH_LOCALE_ko
void UnixCharsetFromTextEncoding_EUC_KR()
{
check( RTL_TEXTENCODING_EUC_KR, RTL_TEXTENCODING_DONTKNOW );
}
void UnixCharsetFromTextEncoding_ISO_2022_KR()
{
check( RTL_TEXTENCODING_ISO_2022_KR, RTL_TEXTENCODING_DONTKNOW );
}
#endif
#if WITH_LOCALE_ALL || WITH_LOCALE_ja
void UnixCharsetFromTextEncoding_JIS_X_0201()
{
check( RTL_TEXTENCODING_JIS_X_0201, RTL_TEXTENCODING_DONTKNOW );
}
void UnixCharsetFromTextEncoding_JIS_X_0208()
{
check( RTL_TEXTENCODING_JIS_X_0208, RTL_TEXTENCODING_DONTKNOW );
}
void UnixCharsetFromTextEncoding_JIS_X_0212()
{
check( RTL_TEXTENCODING_JIS_X_0212, RTL_TEXTENCODING_DONTKNOW );
}
#endif
void UnixCharsetFromTextEncoding_MS_1361()
{
check( RTL_TEXTENCODING_MS_1361, RTL_TEXTENCODING_DONTKNOW );
}
#if WITH_LOCALE_ALL || WITH_LOCALE_zh
void UnixCharsetFromTextEncoding_GB_18030()
{
check( RTL_TEXTENCODING_GB_18030, RTL_TEXTENCODING_GBK );
}
void UnixCharsetFromTextEncoding_BIG5_HKSCS()
{
check( RTL_TEXTENCODING_BIG5_HKSCS, RTL_TEXTENCODING_DONTKNOW );
}
#endif
void UnixCharsetFromTextEncoding_TIS_620()
{
check( RTL_TEXTENCODING_TIS_620, RTL_TEXTENCODING_ISO_8859_1 );
}
void UnixCharsetFromTextEncoding_KOI8_U()
{
check( RTL_TEXTENCODING_KOI8_U, RTL_TEXTENCODING_KOI8_U );
}
CPPUNIT_TEST_SUITE( testBestUnix );
CPPUNIT_TEST( UnixCharsetFromTextEncoding_MS_1252 );
CPPUNIT_TEST( UnixCharsetFromTextEncoding_APPLE_ROMAN );
CPPUNIT_TEST( UnixCharsetFromTextEncoding_IBM_437 );
CPPUNIT_TEST( UnixCharsetFromTextEncoding_IBM_850 );
CPPUNIT_TEST( UnixCharsetFromTextEncoding_IBM_860 );
CPPUNIT_TEST( UnixCharsetFromTextEncoding_IBM_861 );
CPPUNIT_TEST( UnixCharsetFromTextEncoding_IBM_863 );
CPPUNIT_TEST( UnixCharsetFromTextEncoding_IBM_865 );
CPPUNIT_TEST( UnixCharsetFromTextEncoding_SYMBOL );
CPPUNIT_TEST( UnixCharsetFromTextEncoding_ASCII_US );
CPPUNIT_TEST( UnixCharsetFromTextEncoding_ISO_8859_1 );
CPPUNIT_TEST( UnixCharsetFromTextEncoding_ISO_8859_2 );
CPPUNIT_TEST( UnixCharsetFromTextEncoding_ISO_8859_3 );
CPPUNIT_TEST( UnixCharsetFromTextEncoding_ISO_8859_4 );
CPPUNIT_TEST( UnixCharsetFromTextEncoding_ISO_8859_5 );
CPPUNIT_TEST( UnixCharsetFromTextEncoding_ISO_8859_6 );
CPPUNIT_TEST( UnixCharsetFromTextEncoding_ISO_8859_7 );
CPPUNIT_TEST( UnixCharsetFromTextEncoding_ISO_8859_8 );
CPPUNIT_TEST( UnixCharsetFromTextEncoding_ISO_8859_9 );
CPPUNIT_TEST( UnixCharsetFromTextEncoding_ISO_8859_14 );
CPPUNIT_TEST( UnixCharsetFromTextEncoding_ISO_8859_15 );
CPPUNIT_TEST( UnixCharsetFromTextEncoding_IBM_737 );
CPPUNIT_TEST( UnixCharsetFromTextEncoding_IBM_775 );
CPPUNIT_TEST( UnixCharsetFromTextEncoding_IBM_852 );
CPPUNIT_TEST( UnixCharsetFromTextEncoding_IBM_855 );
CPPUNIT_TEST( UnixCharsetFromTextEncoding_IBM_857 );
CPPUNIT_TEST( UnixCharsetFromTextEncoding_IBM_862 );
CPPUNIT_TEST( UnixCharsetFromTextEncoding_IBM_864 );
CPPUNIT_TEST( UnixCharsetFromTextEncoding_IBM_866 );
CPPUNIT_TEST( UnixCharsetFromTextEncoding_IBM_869 );
CPPUNIT_TEST( UnixCharsetFromTextEncoding_MS_874 );
CPPUNIT_TEST( UnixCharsetFromTextEncoding_MS_1250 );
CPPUNIT_TEST( UnixCharsetFromTextEncoding_MS_1251 );
CPPUNIT_TEST( UnixCharsetFromTextEncoding_MS_1253 );
CPPUNIT_TEST( UnixCharsetFromTextEncoding_MS_1254 );
CPPUNIT_TEST( UnixCharsetFromTextEncoding_MS_1255 );
CPPUNIT_TEST( UnixCharsetFromTextEncoding_MS_1256 );
CPPUNIT_TEST( UnixCharsetFromTextEncoding_MS_1257 );
CPPUNIT_TEST( UnixCharsetFromTextEncoding_MS_1258 );
CPPUNIT_TEST( UnixCharsetFromTextEncoding_APPLE_CENTEURO );
CPPUNIT_TEST( UnixCharsetFromTextEncoding_APPLE_CROATIAN );
CPPUNIT_TEST( UnixCharsetFromTextEncoding_APPLE_CYRILLIC );
CPPUNIT_TEST( UnixCharsetFromTextEncoding_APPLE_GREEK );
CPPUNIT_TEST( UnixCharsetFromTextEncoding_APPLE_ICELAND );
CPPUNIT_TEST( UnixCharsetFromTextEncoding_APPLE_ROMANIAN );
CPPUNIT_TEST( UnixCharsetFromTextEncoding_APPLE_TURKISH );
CPPUNIT_TEST( UnixCharsetFromTextEncoding_APPLE_UKRAINIAN );
#if WITH_LOCALE_ALL || WITH_LOCALE_zh
CPPUNIT_TEST( UnixCharsetFromTextEncoding_APPLE_CHINSIMP );
CPPUNIT_TEST( UnixCharsetFromTextEncoding_APPLE_CHINTRAD );
#endif
#if WITH_LOCALE_ALL || WITH_LOCALE_ja
CPPUNIT_TEST( UnixCharsetFromTextEncoding_APPLE_JAPANESE );
#endif
#if WITH_LOCALE_ALL || WITH_LOCALE_ko
CPPUNIT_TEST( UnixCharsetFromTextEncoding_APPLE_KOREAN );
#endif
CPPUNIT_TEST( UnixCharsetFromTextEncoding_MS_932 );
CPPUNIT_TEST( UnixCharsetFromTextEncoding_MS_936 );
CPPUNIT_TEST( UnixCharsetFromTextEncoding_MS_949 );
CPPUNIT_TEST( UnixCharsetFromTextEncoding_MS_950 );
#if WITH_LOCALE_ALL || WITH_LOCALE_ja
CPPUNIT_TEST( UnixCharsetFromTextEncoding_SHIFT_JIS );
#endif
#if WITH_LOCALE_ALL || WITH_LOCALE_zh
CPPUNIT_TEST( UnixCharsetFromTextEncoding_GB_2312 );
CPPUNIT_TEST( UnixCharsetFromTextEncoding_GBT_12345 );
CPPUNIT_TEST( UnixCharsetFromTextEncoding_GBK );
CPPUNIT_TEST( UnixCharsetFromTextEncoding_BIG5 );
#endif
#if WITH_LOCALE_ALL || WITH_LOCALE_ja
CPPUNIT_TEST( UnixCharsetFromTextEncoding_EUC_JP );
#endif
#if WITH_LOCALE_ALL || WITH_LOCALE_zh
CPPUNIT_TEST( UnixCharsetFromTextEncoding_EUC_CN );
CPPUNIT_TEST( UnixCharsetFromTextEncoding_EUC_TW );
#endif
#if WITH_LOCALE_ALL || WITH_LOCALE_ja
CPPUNIT_TEST( UnixCharsetFromTextEncoding_ISO_2022_JP );
#endif
#if WITH_LOCALE_ALL || WITH_LOCALE_zh
CPPUNIT_TEST( UnixCharsetFromTextEncoding_ISO_2022_CN );
#endif
CPPUNIT_TEST( UnixCharsetFromTextEncoding_KOI8_R );
CPPUNIT_TEST( UnixCharsetFromTextEncoding_UTF7 );
CPPUNIT_TEST( UnixCharsetFromTextEncoding_UTF8 );
CPPUNIT_TEST( UnixCharsetFromTextEncoding_ISO_8859_10 );
CPPUNIT_TEST( UnixCharsetFromTextEncoding_ISO_8859_13 );
#if WITH_LOCALE_ALL || WITH_LOCALE_ko
CPPUNIT_TEST( UnixCharsetFromTextEncoding_EUC_KR );
CPPUNIT_TEST( UnixCharsetFromTextEncoding_ISO_2022_KR );
#endif
#if WITH_LOCALE_ALL || WITH_LOCALE_ja
CPPUNIT_TEST( UnixCharsetFromTextEncoding_JIS_X_0201 );
CPPUNIT_TEST( UnixCharsetFromTextEncoding_JIS_X_0208 );
CPPUNIT_TEST( UnixCharsetFromTextEncoding_JIS_X_0212 );
#endif
CPPUNIT_TEST( UnixCharsetFromTextEncoding_MS_1361 );
#if WITH_LOCALE_ALL || WITH_LOCALE_zh
CPPUNIT_TEST( UnixCharsetFromTextEncoding_GB_18030 );
CPPUNIT_TEST( UnixCharsetFromTextEncoding_BIG5_HKSCS );
#endif
CPPUNIT_TEST( UnixCharsetFromTextEncoding_TIS_620 );
CPPUNIT_TEST( UnixCharsetFromTextEncoding_KOI8_U );
CPPUNIT_TEST_SUITE_END( );
};
class testBestWindows : public CppUnit::TestFixture
{
public:
void check(rtl_TextEncoding nIn, rtl_TextEncoding nOut)
{
const sal_uInt8 nCharSet = rtl_getBestWindowsCharsetFromTextEncoding(nIn);
rtl_TextEncoding eTextEnc = rtl_getTextEncodingFromWindowsCharset(nCharSet);
CPPUNIT_ASSERT_EQUAL_MESSAGE("rtl_getBestWindowsCharsetFromTextEncoding && rtl_getTextEncodingFromWindowsCharset differ", nOut, eTextEnc );
}
void WindowsCharsetFromTextEncoding_MS_1252()
{
check( RTL_TEXTENCODING_MS_1252, RTL_TEXTENCODING_MS_1252 );
}
void WindowsCharsetFromTextEncoding_APPLE_ROMAN()
{
check( RTL_TEXTENCODING_APPLE_ROMAN, RTL_TEXTENCODING_APPLE_ROMAN );
}
void WindowsCharsetFromTextEncoding_IBM_437()
{
check( RTL_TEXTENCODING_IBM_437, RTL_TEXTENCODING_MS_1252 );
}
void WindowsCharsetFromTextEncoding_IBM_850()
{
check( RTL_TEXTENCODING_IBM_850, RTL_TEXTENCODING_MS_1252 );
}
void WindowsCharsetFromTextEncoding_IBM_860()
{
check( RTL_TEXTENCODING_IBM_860, RTL_TEXTENCODING_MS_1252 );
}
void WindowsCharsetFromTextEncoding_IBM_861()
{
check( RTL_TEXTENCODING_IBM_861, RTL_TEXTENCODING_MS_1252 );
}
void WindowsCharsetFromTextEncoding_IBM_863()
{
check( RTL_TEXTENCODING_IBM_863, RTL_TEXTENCODING_MS_1252 );
}
void WindowsCharsetFromTextEncoding_IBM_865()
{
check( RTL_TEXTENCODING_IBM_865, RTL_TEXTENCODING_MS_1252 );
}
void WindowsCharsetFromTextEncoding_SYMBOL()
{
check( RTL_TEXTENCODING_SYMBOL, RTL_TEXTENCODING_SYMBOL );
}
void WindowsCharsetFromTextEncoding_ASCII_US()
{
check( RTL_TEXTENCODING_ASCII_US, RTL_TEXTENCODING_MS_1252 );
}
void WindowsCharsetFromTextEncoding_ISO_8859_1()
{
check( RTL_TEXTENCODING_ISO_8859_1, RTL_TEXTENCODING_MS_1252 );
}
#if 0
void WindowsCharsetFromTextEncoding_ISO_8859_2()
{
check( RTL_TEXTENCODING_ISO_8859_2, RTL_TEXTENCODING_MS_1252 );
}
#endif
void WindowsCharsetFromTextEncoding_ISO_8859_3()
{
check( RTL_TEXTENCODING_ISO_8859_3, RTL_TEXTENCODING_MS_1252 );
}
void WindowsCharsetFromTextEncoding_ISO_8859_4()
{
check( RTL_TEXTENCODING_ISO_8859_4, RTL_TEXTENCODING_MS_1257 );
}
#if 0
void WindowsCharsetFromTextEncoding_ISO_8859_5()
{
check( RTL_TEXTENCODING_ISO_8859_5, RTL_TEXTENCODING_MS_1252 );
}
void WindowsCharsetFromTextEncoding_ISO_8859_6()
{
check( RTL_TEXTENCODING_ISO_8859_6, RTL_TEXTENCODING_MS_1252 );
}
void WindowsCharsetFromTextEncoding_ISO_8859_7()
{
check( RTL_TEXTENCODING_ISO_8859_7, RTL_TEXTENCODING_MS_1252 );
}
void WindowsCharsetFromTextEncoding_ISO_8859_8()
{
check( RTL_TEXTENCODING_ISO_8859_8, RTL_TEXTENCODING_MS_1252 );
}
void WindowsCharsetFromTextEncoding_ISO_8859_9()
{
check( RTL_TEXTENCODING_ISO_8859_9, RTL_TEXTENCODING_MS_1252 );
}
#endif
void WindowsCharsetFromTextEncoding_ISO_8859_14()
{
check( RTL_TEXTENCODING_ISO_8859_14, RTL_TEXTENCODING_MS_1252 );
}
void WindowsCharsetFromTextEncoding_ISO_8859_15()
{
check( RTL_TEXTENCODING_ISO_8859_15, RTL_TEXTENCODING_MS_1252 );
}
#if 0
void WindowsCharsetFromTextEncoding_IBM_737()
{
check( RTL_TEXTENCODING_IBM_737, RTL_TEXTENCODING_MS_1252 );
}
void WindowsCharsetFromTextEncoding_IBM_775()
{
check( RTL_TEXTENCODING_IBM_775, RTL_TEXTENCODING_MS_1252 );
}
void WindowsCharsetFromTextEncoding_IBM_852()
{
check( RTL_TEXTENCODING_IBM_852, RTL_TEXTENCODING_MS_1252 );
}
void WindowsCharsetFromTextEncoding_IBM_855()
{
check( RTL_TEXTENCODING_IBM_855, RTL_TEXTENCODING_MS_1252 );
}
void WindowsCharsetFromTextEncoding_IBM_857()
{
check( RTL_TEXTENCODING_IBM_857, RTL_TEXTENCODING_MS_1252 );
}
void WindowsCharsetFromTextEncoding_IBM_862()
{
check( RTL_TEXTENCODING_IBM_862, RTL_TEXTENCODING_MS_1252 );
}
void WindowsCharsetFromTextEncoding_IBM_864()
{
check( RTL_TEXTENCODING_IBM_864, RTL_TEXTENCODING_MS_1252 );
}
void WindowsCharsetFromTextEncoding_IBM_866()
{
check( RTL_TEXTENCODING_IBM_866, RTL_TEXTENCODING_MS_1252 );
}
void WindowsCharsetFromTextEncoding_IBM_869()
{
check( RTL_TEXTENCODING_IBM_869, RTL_TEXTENCODING_MS_1252 );
}
void WindowsCharsetFromTextEncoding_MS_874()
{
check( RTL_TEXTENCODING_MS_874, RTL_TEXTENCODING_MS_1252 );
}
void WindowsCharsetFromTextEncoding_MS_1250()
{
check( RTL_TEXTENCODING_MS_1250, RTL_TEXTENCODING_MS_1252 );
}
void WindowsCharsetFromTextEncoding_MS_1251()
{
check( RTL_TEXTENCODING_MS_1251, RTL_TEXTENCODING_MS_1252 );
}
void WindowsCharsetFromTextEncoding_MS_1253()
{
check( RTL_TEXTENCODING_MS_1253, RTL_TEXTENCODING_MS_1252 );
}
void WindowsCharsetFromTextEncoding_MS_1254()
{
check( RTL_TEXTENCODING_MS_1254, RTL_TEXTENCODING_MS_1252 );
}
void WindowsCharsetFromTextEncoding_MS_1255()
{
check( RTL_TEXTENCODING_MS_1255, RTL_TEXTENCODING_MS_1252 );
}
void WindowsCharsetFromTextEncoding_MS_1256()
{
check( RTL_TEXTENCODING_MS_1256, RTL_TEXTENCODING_MS_1252 );
}
void WindowsCharsetFromTextEncoding_MS_1257()
{
check( RTL_TEXTENCODING_MS_1257, RTL_TEXTENCODING_MS_1252 );
}
void WindowsCharsetFromTextEncoding_MS_1258()
{
check( RTL_TEXTENCODING_MS_1258, RTL_TEXTENCODING_MS_1252 );
}
void WindowsCharsetFromTextEncoding_APPLE_ARABIC()
{
check( RTL_TEXTENCODING_APPLE_ARABIC, RTL_TEXTENCODING_MS_1252 );
}
void WindowsCharsetFromTextEncoding_APPLE_CENTEURO()
{
check( RTL_TEXTENCODING_APPLE_CENTEURO, RTL_TEXTENCODING_MS_1252 );
}
void WindowsCharsetFromTextEncoding_APPLE_CROATIAN()
{
check( RTL_TEXTENCODING_APPLE_CROATIAN, RTL_TEXTENCODING_MS_1252 );
}
void WindowsCharsetFromTextEncoding_APPLE_CYRILLIC()
{
check( RTL_TEXTENCODING_APPLE_CYRILLIC, RTL_TEXTENCODING_MS_1252 );
}
void WindowsCharsetFromTextEncoding_APPLE_DEVANAGARI()
{
check( RTL_TEXTENCODING_APPLE_DEVANAGARI, RTL_TEXTENCODING_MS_1252 );
}
void WindowsCharsetFromTextEncoding_APPLE_FARSI()
{
check( RTL_TEXTENCODING_APPLE_FARSI, RTL_TEXTENCODING_MS_1252 );
}
void WindowsCharsetFromTextEncoding_APPLE_GREEK()
{
check( RTL_TEXTENCODING_APPLE_GREEK, RTL_TEXTENCODING_MS_1252 );
}
void WindowsCharsetFromTextEncoding_APPLE_GUJARATI()
{
check( RTL_TEXTENCODING_APPLE_GUJARATI, RTL_TEXTENCODING_MS_1252 );
}
void WindowsCharsetFromTextEncoding_APPLE_GURMUKHI()
{
check( RTL_TEXTENCODING_APPLE_GURMUKHI, RTL_TEXTENCODING_MS_1252 );
}
void WindowsCharsetFromTextEncoding_APPLE_HEBREW()
{
check( RTL_TEXTENCODING_APPLE_HEBREW, RTL_TEXTENCODING_MS_1252 );
}
#endif
void WindowsCharsetFromTextEncoding_APPLE_ICELAND()
{
check( RTL_TEXTENCODING_APPLE_ICELAND, RTL_TEXTENCODING_MS_1252 );
}
#if 0
void WindowsCharsetFromTextEncoding_APPLE_ROMANIAN()
{
check( RTL_TEXTENCODING_APPLE_ROMANIAN, RTL_TEXTENCODING_MS_1252 );
}
void WindowsCharsetFromTextEncoding_APPLE_THAI()
{
check( RTL_TEXTENCODING_APPLE_THAI, RTL_TEXTENCODING_MS_1252 );
}
void WindowsCharsetFromTextEncoding_APPLE_TURKISH()
{
check( RTL_TEXTENCODING_APPLE_TURKISH, RTL_TEXTENCODING_MS_1252 );
}
void WindowsCharsetFromTextEncoding_APPLE_UKRAINIAN()
{
check( RTL_TEXTENCODING_APPLE_UKRAINIAN, RTL_TEXTENCODING_MS_1252 );
}
void WindowsCharsetFromTextEncoding_APPLE_CHINSIMP()
{
check( RTL_TEXTENCODING_APPLE_CHINSIMP, RTL_TEXTENCODING_MS_1252 );
}
void WindowsCharsetFromTextEncoding_APPLE_CHINTRAD()
{
check( RTL_TEXTENCODING_APPLE_CHINTRAD, RTL_TEXTENCODING_MS_1252 );
}
void WindowsCharsetFromTextEncoding_APPLE_JAPANESE()
{
check( RTL_TEXTENCODING_APPLE_JAPANESE, RTL_TEXTENCODING_MS_1252 );
}
void WindowsCharsetFromTextEncoding_APPLE_KOREAN()
{
check( RTL_TEXTENCODING_APPLE_KOREAN, RTL_TEXTENCODING_MS_1252 );
}
void WindowsCharsetFromTextEncoding_MS_932()
{
check( RTL_TEXTENCODING_MS_932, RTL_TEXTENCODING_MS_1252 );
}
void WindowsCharsetFromTextEncoding_MS_936()
{
check( RTL_TEXTENCODING_MS_936, RTL_TEXTENCODING_MS_1252 );
}
void WindowsCharsetFromTextEncoding_MS_949()
{
check( RTL_TEXTENCODING_MS_949, RTL_TEXTENCODING_MS_1252 );
}
void WindowsCharsetFromTextEncoding_MS_950()
{
check( RTL_TEXTENCODING_MS_950, RTL_TEXTENCODING_MS_1252 );
}
void WindowsCharsetFromTextEncoding_SHIFT_JIS()
{
check( RTL_TEXTENCODING_SHIFT_JIS, RTL_TEXTENCODING_MS_1252 );
}
void WindowsCharsetFromTextEncoding_GB_2312()
{
check( RTL_TEXTENCODING_GB_2312, RTL_TEXTENCODING_MS_1252 );
}
void WindowsCharsetFromTextEncoding_GBT_12345()
{
check( RTL_TEXTENCODING_GBT_12345, RTL_TEXTENCODING_MS_1252 );
}
void WindowsCharsetFromTextEncoding_GBK()
{
check( RTL_TEXTENCODING_GBK, RTL_TEXTENCODING_MS_1252 );
}
void WindowsCharsetFromTextEncoding_BIG5()
{
check( RTL_TEXTENCODING_BIG5, RTL_TEXTENCODING_MS_1252 );
}
void WindowsCharsetFromTextEncoding_EUC_JP()
{
check( RTL_TEXTENCODING_EUC_JP, RTL_TEXTENCODING_MS_1252 );
}
void WindowsCharsetFromTextEncoding_EUC_CN()
{
check( RTL_TEXTENCODING_EUC_CN, RTL_TEXTENCODING_MS_1252 );
}
void WindowsCharsetFromTextEncoding_EUC_TW()
{
check( RTL_TEXTENCODING_EUC_TW, RTL_TEXTENCODING_MS_1252 );
}
void WindowsCharsetFromTextEncoding_ISO_2022_JP()
{
check( RTL_TEXTENCODING_ISO_2022_JP, RTL_TEXTENCODING_MS_1252 );
}
void WindowsCharsetFromTextEncoding_ISO_2022_CN()
{
check( RTL_TEXTENCODING_ISO_2022_CN, RTL_TEXTENCODING_MS_1252 );
}
void WindowsCharsetFromTextEncoding_KOI8_R()
{
check( RTL_TEXTENCODING_KOI8_R, RTL_TEXTENCODING_MS_1252 );
}
#endif
void WindowsCharsetFromTextEncoding_UTF7()
{
check( RTL_TEXTENCODING_UTF7, RTL_TEXTENCODING_MS_1252 );
}
void WindowsCharsetFromTextEncoding_UTF8()
{
check( RTL_TEXTENCODING_UTF8, RTL_TEXTENCODING_MS_1252 );
}
#if 0
void WindowsCharsetFromTextEncoding_ISO_8859_10()
{
check( RTL_TEXTENCODING_ISO_8859_10, RTL_TEXTENCODING_MS_1252 );
}
void WindowsCharsetFromTextEncoding_ISO_8859_13()
{
check( RTL_TEXTENCODING_ISO_8859_13, RTL_TEXTENCODING_MS_1252 );
}
void WindowsCharsetFromTextEncoding_EUC_KR()
{
check( RTL_TEXTENCODING_EUC_KR, RTL_TEXTENCODING_MS_1252 );
}
void WindowsCharsetFromTextEncoding_ISO_2022_KR()
{
check( RTL_TEXTENCODING_ISO_2022_KR, RTL_TEXTENCODING_MS_1252 );
}
void WindowsCharsetFromTextEncoding_JIS_X_0201()
{
check( RTL_TEXTENCODING_JIS_X_0201, RTL_TEXTENCODING_MS_1252 );
}
void WindowsCharsetFromTextEncoding_JIS_X_0208()
{
check( RTL_TEXTENCODING_JIS_X_0208, RTL_TEXTENCODING_MS_1252 );
}
void WindowsCharsetFromTextEncoding_JIS_X_0212()
{
check( RTL_TEXTENCODING_JIS_X_0212, RTL_TEXTENCODING_MS_1252 );
}
void WindowsCharsetFromTextEncoding_MS_1361()
{
check( RTL_TEXTENCODING_MS_1361, RTL_TEXTENCODING_MS_1252 );
}
void WindowsCharsetFromTextEncoding_GB_18030()
{
check( RTL_TEXTENCODING_GB_18030, RTL_TEXTENCODING_MS_1252 );
}
void WindowsCharsetFromTextEncoding_BIG5_HKSCS()
{
check( RTL_TEXTENCODING_BIG5_HKSCS, RTL_TEXTENCODING_MS_1252 );
}
void WindowsCharsetFromTextEncoding_TIS_620()
{
check( RTL_TEXTENCODING_TIS_620, RTL_TEXTENCODING_MS_1252 );
}
void WindowsCharsetFromTextEncoding_KOI8_U()
{
check( RTL_TEXTENCODING_KOI8_U, RTL_TEXTENCODING_MS_1252 );
}
void WindowsCharsetFromTextEncoding_ISCII_DEVANAGARI()
{
check( RTL_TEXTENCODING_ISCII_DEVANAGARI, RTL_TEXTENCODING_MS_1252 );
}
#endif
void WindowsCharsetFromTextEncoding_JAVA_UTF8()
{
check( RTL_TEXTENCODING_JAVA_UTF8, RTL_TEXTENCODING_MS_1252 );
}
CPPUNIT_TEST_SUITE( testBestWindows );
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_MS_1252 );
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_APPLE_ROMAN );
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_IBM_437 );
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_IBM_850 );
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_IBM_860 );
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_IBM_861 );
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_IBM_863 );
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_IBM_865 );
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_SYMBOL );
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_ASCII_US );
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_ISO_8859_1 );
#if 0
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_ISO_8859_2 );
#endif
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_ISO_8859_3 );
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_ISO_8859_4 );
#if 0
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_ISO_8859_5 );
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_ISO_8859_6 );
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_ISO_8859_7 );
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_ISO_8859_8 );
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_ISO_8859_9 );
#endif
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_ISO_8859_14 );
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_ISO_8859_15 );
#if 0
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_IBM_737 );
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_IBM_775 );
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_IBM_852 );
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_IBM_855 );
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_IBM_857 );
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_IBM_862 );
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_IBM_864 );
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_IBM_866 );
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_IBM_869 );
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_MS_874 );
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_MS_1250 );
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_MS_1251 );
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_MS_1253 );
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_MS_1254 );
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_MS_1255 );
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_MS_1256 );
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_MS_1257 );
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_MS_1258 );
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_APPLE_ARABIC );
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_APPLE_CENTEURO );
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_APPLE_CROATIAN );
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_APPLE_CYRILLIC );
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_APPLE_DEVANAGARI );
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_APPLE_FARSI );
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_APPLE_GREEK );
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_APPLE_GUJARATI );
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_APPLE_GURMUKHI );
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_APPLE_HEBREW );
#endif
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_APPLE_ICELAND );
#if 0
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_APPLE_ROMANIAN );
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_APPLE_THAI );
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_APPLE_TURKISH );
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_APPLE_UKRAINIAN );
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_APPLE_CHINSIMP );
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_APPLE_CHINTRAD );
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_APPLE_JAPANESE );
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_APPLE_KOREAN );
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_MS_932 );
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_MS_936 );
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_MS_949 );
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_MS_950 );
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_SHIFT_JIS );
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_GB_2312 );
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_GBT_12345 );
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_GBK );
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_BIG5 );
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_EUC_JP );
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_EUC_CN );
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_EUC_TW );
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_ISO_2022_JP );
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_ISO_2022_CN );
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_KOI8_R );
#endif
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_UTF7 );
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_UTF8 );
#if 0
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_ISO_8859_10 );
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_ISO_8859_13 );
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_EUC_KR );
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_ISO_2022_KR );
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_JIS_X_0201 );
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_JIS_X_0208 );
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_JIS_X_0212 );
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_MS_1361 );
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_GB_18030 );
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_BIG5_HKSCS );
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_TIS_620 );
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_KOI8_U );
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_ISCII_DEVANAGARI );
#endif
CPPUNIT_TEST( WindowsCharsetFromTextEncoding_JAVA_UTF8 );
CPPUNIT_TEST_SUITE_END( );
};
class testTextEncodingInfo: public CppUnit::TestFixture
{
public:
// not implemented encoding test
void testTextEncodingInfo_001()
{
rtl_TextEncodingInfo aInfo1, aInfo2, aInfo3, aInfo4, aInfo5;
aInfo1.StructSize = 4;
// not implemented
bool bRes1 = rtl_getTextEncodingInfo( RTL_TEXTENCODING_APPLE_ARABIC, &aInfo1 );
// implemented
bool bRes11 = rtl_getTextEncodingInfo( RTL_TEXTENCODING_APPLE_CYRILLIC, &aInfo1 );
CPPUNIT_ASSERT_MESSAGE("should return sal_False.", !bRes1);
CPPUNIT_ASSERT_MESSAGE("should return sal_False.", !bRes11);
aInfo2.StructSize = 5;
bool bRes2 = rtl_getTextEncodingInfo( RTL_TEXTENCODING_APPLE_ARABIC, &aInfo2 );
bool bRes21 = rtl_getTextEncodingInfo( RTL_TEXTENCODING_APPLE_CYRILLIC, &aInfo2 );
CPPUNIT_ASSERT_MESSAGE("StructSize<6 should return sal_True", bRes2);
CPPUNIT_ASSERT_MESSAGE("StructSize<6 should return sal_True", bRes21);
CPPUNIT_ASSERT_MESSAGE("StructSize<6 should return sal_True", aInfo2.MinimumCharSize >=1 );
aInfo3.StructSize = 6;
bool bRes3 = rtl_getTextEncodingInfo( RTL_TEXTENCODING_APPLE_ARABIC, &aInfo3 );
bool bRes31 = rtl_getTextEncodingInfo( RTL_TEXTENCODING_APPLE_CYRILLIC, &aInfo3 );
CPPUNIT_ASSERT_MESSAGE("StructSize<6 should return sal_True", bRes3);
CPPUNIT_ASSERT_MESSAGE("StructSize<6 should return sal_True", bRes31);
//&& aInfo2.MinimumCharSize >=1 );
aInfo4.StructSize = 8;
bool bRes4 = rtl_getTextEncodingInfo( RTL_TEXTENCODING_APPLE_ARABIC, &aInfo4 );
bool bRes41 = rtl_getTextEncodingInfo( RTL_TEXTENCODING_APPLE_CYRILLIC, &aInfo4);
CPPUNIT_ASSERT_MESSAGE("StructSize<6 should return sal_True", bRes4);
CPPUNIT_ASSERT_MESSAGE("StructSize<6 should return sal_True", bRes41);
// && aInfo2.MinimumCharSize >=1 );
aInfo5.StructSize = sizeof aInfo5;
bool bRes5 = rtl_getTextEncodingInfo( RTL_TEXTENCODING_APPLE_ARABIC, &aInfo5 );
CPPUNIT_ASSERT_MESSAGE("StructSize<6 should return sal_True", !bRes5);
CPPUNIT_ASSERT_EQUAL_MESSAGE(
"StructSize<6 should return sal_True", sal_uInt32(0), aInfo5.Flags);
}
CPPUNIT_TEST_SUITE(testTextEncodingInfo);
CPPUNIT_TEST(testTextEncodingInfo_001);
CPPUNIT_TEST_SUITE_END();
};
class testEncodingFromUnix: public CppUnit::TestFixture
{
public:
void testIso8859() {
check(RTL_TEXTENCODING_DONTKNOW, "ISO8859");
check(RTL_TEXTENCODING_DONTKNOW, "ISO8859-0");
check(RTL_TEXTENCODING_DONTKNOW, "ISO8859-01");
check(RTL_TEXTENCODING_DONTKNOW, "ISO8859_1");
check(RTL_TEXTENCODING_DONTKNOW, "ISO88591");
check(RTL_TEXTENCODING_ISO_8859_1, "ISO8859-1");
check(RTL_TEXTENCODING_ISO_8859_2, "ISO8859-2");
check(RTL_TEXTENCODING_ISO_8859_3, "ISO8859-3");
check(RTL_TEXTENCODING_ISO_8859_4, "ISO8859-4");
check(RTL_TEXTENCODING_ISO_8859_5, "ISO8859-5");
check(RTL_TEXTENCODING_ISO_8859_6, "ISO8859-6");
check(RTL_TEXTENCODING_ISO_8859_7, "ISO8859-7");
check(RTL_TEXTENCODING_ISO_8859_8, "ISO8859-8");
check(RTL_TEXTENCODING_ISO_8859_9, "ISO8859-9");
check(RTL_TEXTENCODING_ISO_8859_10, "ISO8859-10");
check(RTL_TEXTENCODING_TIS_620, "ISO8859-11");
check(RTL_TEXTENCODING_ISO_8859_13, "ISO8859-13");
check(RTL_TEXTENCODING_ISO_8859_14, "ISO8859-14");
check(RTL_TEXTENCODING_ISO_8859_15, "ISO8859-15");
}
void testTis620() {
check(RTL_TEXTENCODING_DONTKNOW, "TIS620");
check(RTL_TEXTENCODING_TIS_620, "TIS620-0");
check(RTL_TEXTENCODING_DONTKNOW, "TIS620-1");
check(RTL_TEXTENCODING_TIS_620, "TIS620-2529");
check(RTL_TEXTENCODING_TIS_620, "TIS620-2533");
check(RTL_TEXTENCODING_DONTKNOW, "TIS620.2529-0");
check(RTL_TEXTENCODING_TIS_620, "TIS620.2529-1");
check(RTL_TEXTENCODING_DONTKNOW, "TIS620.2529-2");
check(RTL_TEXTENCODING_TIS_620, "TIS620.2533-0");
check(RTL_TEXTENCODING_TIS_620, "TIS620.2533-1");
check(RTL_TEXTENCODING_DONTKNOW, "TIS620.2533-2");
}
CPPUNIT_TEST_SUITE(testEncodingFromUnix);
CPPUNIT_TEST(testIso8859);
CPPUNIT_TEST(testTis620);
CPPUNIT_TEST_SUITE_END();
private:
void check(rtl_TextEncoding expected, char const * input) {
CPPUNIT_ASSERT_EQUAL_MESSAGE(
input, expected, rtl_getTextEncodingFromUnixCharset(input));
}
};
}
CPPUNIT_TEST_SUITE_REGISTRATION(testBestMime);
CPPUNIT_TEST_SUITE_REGISTRATION(testBestUnix);
CPPUNIT_TEST_SUITE_REGISTRATION(testBestWindows);
CPPUNIT_TEST_SUITE_REGISTRATION(testTextEncodingInfo);
CPPUNIT_TEST_SUITE_REGISTRATION(testEncodingFromUnix);
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */