summaryrefslogtreecommitdiffstats
path: root/sal/qa/rtl/textenc/rtl_tencinfo.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'sal/qa/rtl/textenc/rtl_tencinfo.cxx')
-rw-r--r--sal/qa/rtl/textenc/rtl_tencinfo.cxx1674
1 files changed, 1674 insertions, 0 deletions
diff --git a/sal/qa/rtl/textenc/rtl_tencinfo.cxx b/sal/qa/rtl/textenc/rtl_tencinfo.cxx
new file mode 100644
index 000000000..88da153ae
--- /dev/null
+++ b/sal/qa/rtl/textenc/rtl_tencinfo.cxx
@@ -0,0 +1,1674 @@
+/* -*- 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 <string.h>
+
+#include <rtl/tencinfo.h>
+
+#include <cppunit/TestFixture.h>
+#include <cppunit/extensions/HelperMacros.h>
+#include <cppunit/plugin/TestPlugIn.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: */