diff options
Diffstat (limited to 'sal/qa/rtl/textenc/rtl_textcvt.cxx')
-rw-r--r-- | sal/qa/rtl/textenc/rtl_textcvt.cxx | 71 |
1 files changed, 54 insertions, 17 deletions
diff --git a/sal/qa/rtl/textenc/rtl_textcvt.cxx b/sal/qa/rtl/textenc/rtl_textcvt.cxx index b9e67bc0fd51..2a40d3a2b083 100644 --- a/sal/qa/rtl/textenc/rtl_textcvt.cxx +++ b/sal/qa/rtl/textenc/rtl_textcvt.cxx @@ -17,6 +17,8 @@ * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ +#include <config_locales.h> + #include "sal/config.h" #include <cstddef> @@ -1297,6 +1299,7 @@ void Test::testComplex() { true, false, RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR }, +#if WITH_LOCALE_ALL || WITH_LOCALE_zh { RTL_TEXTENCODING_EUC_CN, RTL_CONSTASCII_STRINGPARAM("\x01\"3De$~\xA1\xB9\xF0\xC5"), { 0x0001,0x0022,0x0033,0x0044,0x0065,0x0024,0x007E, @@ -1376,6 +1379,8 @@ void Test::testComplex() { false, false, RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR }, +#endif +#if WITH_LOCALE_ALL || WITH_LOCALE_ja { RTL_TEXTENCODING_ISO_2022_JP, RTL_CONSTASCII_STRINGPARAM("\x01\"3De$\\~"), { 0x0001,0x0022,0x0033,0x0044,0x0065,0x0024,0x005C,0x007E }, @@ -1412,6 +1417,8 @@ void Test::testComplex() { true, false, RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR }, +#endif +#if WITH_LOCALE_ALL || WITH_LOCALE_ko { RTL_TEXTENCODING_ISO_2022_KR, RTL_CONSTASCII_STRINGPARAM("\x1B$)C\x01\"3De$\\~"), { 0x0001,0x0022,0x0033,0x0044,0x0065,0x0024,0x005C,0x007E }, @@ -1431,6 +1438,8 @@ void Test::testComplex() { true, false, RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR }, +#endif +#if WITH_LOCALE_ALL || WITH_LOCALE_zh { RTL_TEXTENCODING_ISO_2022_CN, RTL_CONSTASCII_STRINGPARAM( "\x01\"3De$\\~\x1B$)G\x0E\x45\x70\x1B$*H\x1BN\x22\x22" @@ -1455,6 +1464,7 @@ void Test::testComplex() { true, false, RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR }, +#endif // The following does not work as long as Big5-HKSCS maps to // Unicode PUA instead of Plane 2. Use the next two tests // instead: @@ -1469,6 +1479,7 @@ void Test::testComplex() { // true, // false, // RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR }, +#if WITH_LOCALE_ALL || WITH_LOCALE_zh { RTL_TEXTENCODING_BIG5_HKSCS, RTL_CONSTASCII_STRINGPARAM( "\x01\"3De$~\x88\x56\xF9\xFE\xFA\x5E\xA1\x40\xF9\xD5"), @@ -1588,6 +1599,7 @@ void Test::testComplex() { true, false, RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR }, +#endif { RTL_TEXTENCODING_MS_950, RTL_CONSTASCII_STRINGPARAM( "\xC6\xA1\xC6\xFE\xC7\x40\xC7\x7E\xC7\xA1\xC7\xFE\xC8\x40" @@ -1632,6 +1644,7 @@ void Test::testComplex() { true, false, RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR }, +#if WITH_LOCALE_ALL || WITH_LOCALE_zh { RTL_TEXTENCODING_GB_18030, RTL_CONSTASCII_STRINGPARAM("\x95\x39\xC5\x37"), { 0xD849,0xDD13 }, @@ -1662,6 +1675,7 @@ void Test::testComplex() { true, false, RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR }, +#endif { RTL_TEXTENCODING_MS_936, RTL_CONSTASCII_STRINGPARAM("\xFD\x7C\xC1\xFA\xFD\x9B"), { 0x9F76,0x9F99,0x9FA5 }, @@ -1671,6 +1685,7 @@ void Test::testComplex() { true, false, RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR }, +#if WITH_LOCALE_ALL || WITH_LOCALE_zh { RTL_TEXTENCODING_GBK, RTL_CONSTASCII_STRINGPARAM( "\xFE\x50\xFE\x54\xFE\x55\xFE\x56" @@ -1700,6 +1715,8 @@ void Test::testComplex() { true, false, RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR }, +#endif +#if WITH_LOCALE_ALL || WITH_LOCALE_ja { RTL_TEXTENCODING_EUC_JP, RTL_CONSTASCII_STRINGPARAM("?"), { 0xFF0D }, @@ -1709,7 +1726,7 @@ void Test::testComplex() { true, false, RTL_UNICODETOTEXT_FLAGS_UNDEFINED_QUESTIONMARK }, - +#endif // Test of "JIS X 0208 row 13" (taken from CP932; added to // ISO-2022-JP and EUC-JP; 74 of the 83 characters introduce // mappings to new Unicode characters): @@ -1743,6 +1760,7 @@ void Test::testComplex() { false, false, RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR }, +#if WITH_LOCALE_ALL || WITH_LOCALE_ja { RTL_TEXTENCODING_SHIFT_JIS, RTL_CONSTASCII_STRINGPARAM( "\x87\x40\x87\x41\x87\x42\x87\x43\x87\x44\x87\x45\x87\x46" @@ -1900,7 +1918,7 @@ void Test::testComplex() { true, false, RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR }, - +#endif // Test ISO-8859-x/MS-125x range 0x80--9F: { RTL_TEXTENCODING_ISO_8859_1, @@ -2216,6 +2234,7 @@ void Test::testComplex() { true, false, RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR }, +#if WITH_LOCALE_ALL || WITH_LOCALE_ko { RTL_TEXTENCODING_EUC_KR, RTL_CONSTASCII_STRINGPARAM( "\xB0\xA1\xB0\xA2" "\xB0\xA3" @@ -2260,7 +2279,7 @@ void Test::testComplex() { true, false, RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR }, - +#endif // Test UTF-8: { RTL_TEXTENCODING_UTF8, @@ -2361,8 +2380,8 @@ void Test::testComplex() { true, RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR }, +#if WITH_LOCALE_ALL || WITH_LOCALE_ja // Bug #112949#: - { RTL_TEXTENCODING_SHIFT_JIS, RTL_CONSTASCII_STRINGPARAM("\x81\x63"), { 0x2026 }, @@ -2390,6 +2409,7 @@ void Test::testComplex() { true, false, RTL_UNICODETOTEXT_FLAGS_UNDEFINED_IGNORE }, +#endif { RTL_TEXTENCODING_MS_932, RTL_CONSTASCII_STRINGPARAM("\x81\x63"), { 0x2026 }, @@ -2474,6 +2494,7 @@ void Test::testComplex() { false, RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR }, +#if WITH_LOCALE_ALL || WITH_LOCALE_ja // Bug #i62310#: { RTL_TEXTENCODING_SHIFT_JIS, RTL_CONSTASCII_STRINGPARAM( @@ -2485,7 +2506,7 @@ void Test::testComplex() { true, false, RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR }, - +#endif // Bug #i73103#: { RTL_TEXTENCODING_MS_1258, RTL_CONSTASCII_STRINGPARAM( @@ -2508,6 +2529,7 @@ void Test::testComplex() { true, false, RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR }, +#if WITH_LOCALE_ALL || WITH_LOCALE_FOR_SCRIPT_Deva { RTL_TEXTENCODING_ISCII_DEVANAGARI, RTL_CONSTASCII_STRINGPARAM( "\xD7\xE6\x20\xD4\xCF\xE8\xD6\x20" @@ -2545,6 +2567,7 @@ void Test::testComplex() { true, false, RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR } +#endif }; for (std::size_t i = 0; i < SAL_N_ELEMENTS(data); ++i) { doComplexCharSetTest(data[i]); @@ -2553,7 +2576,9 @@ void Test::testComplex() { void Test::testComplexCut() { static ComplexCharSetTest const data[] - = { { RTL_TEXTENCODING_EUC_JP, + = { +#if WITH_LOCALE_ALL || WITH_LOCALE_ja + { RTL_TEXTENCODING_EUC_JP, RTL_CONSTASCII_STRINGPARAM("\xA1"), { 0 }, 0, @@ -2589,6 +2614,8 @@ void Test::testComplexCut() { false, false, RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR }, +#endif +#if WITH_LOCALE_ALL || WITH_LOCALE_zh { RTL_TEXTENCODING_EUC_CN, RTL_CONSTASCII_STRINGPARAM("\xA1"), { 0 }, @@ -2597,7 +2624,9 @@ void Test::testComplexCut() { true, false, false, - RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR } /* , + RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR }, +#endif +/* , { RTL_TEXTENCODING_EUC_TW, RTL_CONSTASCII_STRINGPARAM("\xA1"), { 0 }, @@ -2884,31 +2913,41 @@ void Test::testInfo() { bool value; }; static Data const data[] = { - { RTL_TEXTENCODING_APPLE_CHINTRAD, RTL_TEXTENCODING_INFO_ASCII, false }, +#if WITH_LOCALE_ALL || WITH_LOCALE_ja { RTL_TEXTENCODING_APPLE_JAPANESE, RTL_TEXTENCODING_INFO_ASCII, false }, + { RTL_TEXTENCODING_EUC_JP, RTL_TEXTENCODING_INFO_ASCII, true }, + { RTL_TEXTENCODING_ISO_2022_JP, RTL_TEXTENCODING_INFO_CONTEXT, true }, + { RTL_TEXTENCODING_ISO_2022_JP, RTL_TEXTENCODING_INFO_ASCII, false }, + { RTL_TEXTENCODING_SHIFT_JIS, RTL_TEXTENCODING_INFO_ASCII, false }, +#endif +#if WITH_LOCALE_ALL || WITH_LOCALE_ko { RTL_TEXTENCODING_APPLE_KOREAN, RTL_TEXTENCODING_INFO_ASCII, false }, + { RTL_TEXTENCODING_EUC_KR, RTL_TEXTENCODING_INFO_ASCII, true }, + { RTL_TEXTENCODING_ISO_2022_KR, RTL_TEXTENCODING_INFO_CONTEXT, true }, + { RTL_TEXTENCODING_ISO_2022_KR, RTL_TEXTENCODING_INFO_ASCII, false }, +#endif +#if WITH_LOCALE_ALL || WITH_LOCALE_zh + { RTL_TEXTENCODING_APPLE_CHINTRAD, RTL_TEXTENCODING_INFO_ASCII, false }, { RTL_TEXTENCODING_BIG5, RTL_TEXTENCODING_INFO_ASCII, false }, { RTL_TEXTENCODING_BIG5_HKSCS, RTL_TEXTENCODING_INFO_ASCII, false }, { RTL_TEXTENCODING_EUC_CN, RTL_TEXTENCODING_INFO_ASCII, true }, - { RTL_TEXTENCODING_EUC_JP, RTL_TEXTENCODING_INFO_ASCII, true }, - { RTL_TEXTENCODING_EUC_KR, RTL_TEXTENCODING_INFO_ASCII, true }, { RTL_TEXTENCODING_EUC_TW, RTL_TEXTENCODING_INFO_ASCII, true }, { RTL_TEXTENCODING_GBK, RTL_TEXTENCODING_INFO_ASCII, false }, { RTL_TEXTENCODING_GB_18030, RTL_TEXTENCODING_INFO_ASCII, false }, { RTL_TEXTENCODING_GB_18030, RTL_TEXTENCODING_INFO_UNICODE, true }, { RTL_TEXTENCODING_ISO_2022_CN, RTL_TEXTENCODING_INFO_CONTEXT, true }, { RTL_TEXTENCODING_ISO_2022_CN, RTL_TEXTENCODING_INFO_ASCII, false }, - { RTL_TEXTENCODING_ISO_2022_JP, RTL_TEXTENCODING_INFO_CONTEXT, true }, - { RTL_TEXTENCODING_ISO_2022_JP, RTL_TEXTENCODING_INFO_ASCII, false }, - { RTL_TEXTENCODING_ISO_2022_KR, RTL_TEXTENCODING_INFO_CONTEXT, true }, - { RTL_TEXTENCODING_ISO_2022_KR, RTL_TEXTENCODING_INFO_ASCII, false }, +#endif +#if WITH_LOCALE_ALL || WITH_LOCALE_FOR_SCRIPT_Deva + { RTL_TEXTENCODING_ISCII_DEVANAGARI, RTL_TEXTENCODING_INFO_ASCII, true }, + { RTL_TEXTENCODING_ISCII_DEVANAGARI, RTL_TEXTENCODING_INFO_MIME, false }, +#endif { RTL_TEXTENCODING_MS_1361, RTL_TEXTENCODING_INFO_ASCII, false }, { RTL_TEXTENCODING_MS_874, RTL_TEXTENCODING_INFO_ASCII, true }, { RTL_TEXTENCODING_MS_932, RTL_TEXTENCODING_INFO_ASCII, false }, { RTL_TEXTENCODING_MS_936, RTL_TEXTENCODING_INFO_ASCII, false }, { RTL_TEXTENCODING_MS_949, RTL_TEXTENCODING_INFO_ASCII, false }, { RTL_TEXTENCODING_MS_950, RTL_TEXTENCODING_INFO_ASCII, false }, - { RTL_TEXTENCODING_SHIFT_JIS, RTL_TEXTENCODING_INFO_ASCII, false }, { RTL_TEXTENCODING_KOI8_R, RTL_TEXTENCODING_INFO_ASCII, true }, { RTL_TEXTENCODING_KOI8_R, RTL_TEXTENCODING_INFO_MIME, true }, { RTL_TEXTENCODING_KOI8_U, RTL_TEXTENCODING_INFO_ASCII, true }, @@ -2917,8 +2956,6 @@ void Test::testInfo() { { RTL_TEXTENCODING_IBM_861, RTL_TEXTENCODING_INFO_MIME, true }, { RTL_TEXTENCODING_IBM_863, RTL_TEXTENCODING_INFO_MIME, true }, { RTL_TEXTENCODING_IBM_865, RTL_TEXTENCODING_INFO_MIME, true }, - { RTL_TEXTENCODING_ISCII_DEVANAGARI, RTL_TEXTENCODING_INFO_ASCII, true }, - { RTL_TEXTENCODING_ISCII_DEVANAGARI, RTL_TEXTENCODING_INFO_MIME, false }, { RTL_TEXTENCODING_ADOBE_STANDARD, RTL_TEXTENCODING_INFO_ASCII, false }, { RTL_TEXTENCODING_ADOBE_STANDARD, RTL_TEXTENCODING_INFO_MIME, true }, { RTL_TEXTENCODING_ADOBE_STANDARD, RTL_TEXTENCODING_INFO_SYMBOL, false }, |