| Index: source/test/cintltst/eurocreg.c
|
| diff --git a/source/test/cintltst/eurocreg.c b/source/test/cintltst/eurocreg.c
|
| deleted file mode 100644
|
| index ca34e0938455831ccaf3ca1582d9dcf93bc69c44..0000000000000000000000000000000000000000
|
| --- a/source/test/cintltst/eurocreg.c
|
| +++ /dev/null
|
| @@ -1,189 +0,0 @@
|
| -/********************************************************************
|
| - * COPYRIGHT:
|
| - * Copyright (c) 1999-2013, International Business Machines Corporation and
|
| - * others. All Rights Reserved.
|
| - ********************************************************************/
|
| -#include "unicode/utypes.h"
|
| -#include "unicode/ustring.h"
|
| -#include "unicode/ctest.h"
|
| -#include "unicode/ucnv.h"
|
| -
|
| -void TestEuroRegression(void);
|
| -void addTestEuroRegression(TestNode** root);
|
| -
|
| -#if !UCONFIG_NO_LEGACY_CONVERSION
|
| -void addTestEuroRegression(TestNode** root)
|
| -{
|
| - addTest(root, &TestEuroRegression, "tsconv/eurocreg/TestEuroRegression");
|
| -}
|
| -
|
| -/*
|
| - * The table below lists codepages that are supposed to have roundtrip mappings for
|
| - * the U+20AC Euro sign.
|
| - *
|
| - * Changes made 2000nov28 and marked as such are due to the following:
|
| - *
|
| - * After updating all ibm-*.ucm files with precise fallback indicators (|0, |1, |3),
|
| - * some of these codepages failed the Euro regression test.
|
| - * This means that the actuall mappings changed when only the preciseness of fallback
|
| - * mappings should have changed.
|
| - * My (Markus) suspicion is that some files got Euro sign mappings added manually,
|
| - * changing their contents compared to the NLTC (IBM Toronto codepage database) definition.
|
| - * Such changes are highly undesirable because they effectively define new codepages.
|
| - * Codepage mapping files with "ibm-*.ucm" should always exactly match the files
|
| - * from the IBM codepage database.
|
| - * (If there are several mappings with the same number, then we choose the
|
| - * default mappings with Private-Use Area assignments.)
|
| - *
|
| - * Also, in the past, some aliases were set such that e.g. cp850 became an alias for ibm-858.
|
| - * This followed the practice of OS/2 that uses the old codepage number 850 for the new
|
| - * codepage 858, with the main difference being the additional Euro sign.
|
| - * However, we have documented that the "cp" prefix should be used for Microsoft-compatible
|
| - * codepages, and Microsoft Windows 2000's codepage 850 does not contain a Euro sign mapping.
|
| - * Therefore, cp850 must not support the Euro sign.
|
| - * In these cases, I have changed the codepage name here to point to a newer codepage with the
|
| - * Euro sign, using its new name.
|
| - * I could not find such "updates" for codepages 1362 and 1363 - we might want to supply them later.
|
| - */
|
| -
|
| -static const char convertersToCheck[][15] = {
|
| - "cp1250",
|
| - "cp1251",
|
| - "cp1252",
|
| - "cp1254",
|
| - "cp1255",
|
| - "cp1256",
|
| - "cp1257",
|
| - "cp1258",
|
| - "ibm1140",
|
| - "ibm1142",
|
| - "ibm1143",
|
| - "ibm1144",
|
| - "ibm1145",
|
| - "ibm1146",
|
| - "ibm1147",
|
| - "ibm1148",
|
| - "ibm1149",
|
| - "ibm1153",
|
| - "ibm1154",
|
| - "ibm1155",
|
| - "ibm1156",
|
| - "ibm1157",
|
| - "ibm1158",
|
| - /*"ibm-1159",*/ /* removed 2003Apr17 */
|
| - "ibm12712",
|
| - "ibm16804",
|
| - "ibm-1160",
|
| - "ibm-1162",
|
| - "ibm-1164",
|
| -
|
| - "ibm-858", /* was "cp850" changed 2000nov28 */
|
| - /* duplicate "cp850" removed 2000nov28 */
|
| - /*"ibm-9049",*/ /* was "cp857" changed 2002nov25 */
|
| - "ibm-12712", /* was "cp424" changed 2000nov28 */
|
| - "ibm-4899", /* was "cp803" changed 2000nov28 */
|
| - "ibm-867", /* was "cp862" changed 2002nov25 */
|
| - "cp1258",
|
| - "windows-950",
|
| - "cp1253",
|
| - /* "cp819",
|
| - "cp13488",*/
|
| - "ibm-4971",
|
| - /*"ibm-9061",*/ /* was "cp869" changed 2002nov25 */
|
| - /* "cp813",*/
|
| - /*"ibm-9044",*/ /* was "cp852" changed 2002nov25 */
|
| - /*"ibm-872",*/ /* was "cp855" changed 2002nov25 */
|
| - /*"ibm-808",*/ /* was "cp866" changed 2002nov25 */
|
| -/* "cp1131",
|
| - "cp1125",*/
|
| - "ibm-902", /* was "cp922" changed 2003jan08 */
|
| - "ibm-901", /* was "cp921" changed 2003jan09 */
|
| - /*"ibm-17248",*/ /* was "cp864" changed 2002nov25 */
|
| - /*"cp1008",
|
| - "cp1046",*/
|
| - /* "cp9066",
|
| - "cp1129",*/
|
| - "ibm-5123", /* was "cp1027" changed 2003jan08 */
|
| - /* "cp300",*/
|
| - /* "cp4930",*/
|
| - "ibm-1364",
|
| - /* "cp1362" removed 2000nov28 */
|
| - "cp1363",
|
| - /* "cp1114", removed 2002jul3
|
| - "cp947", removed 2002jul3 */
|
| - "gb18030",
|
| - ""};
|
| -
|
| -UBool isEuroAware(UConverter*);
|
| -
|
| -void TestEuroRegression()
|
| -{
|
| - int32_t i=0;
|
| -
|
| - do
|
| - {
|
| - UErrorCode err = U_ZERO_ERROR;
|
| - UConverter* myConv = ucnv_open(convertersToCheck[i], &err);
|
| - if (U_FAILURE(err)&&convertersToCheck[i][0])
|
| - log_data_err("%s \tMISSING [%s]\n", convertersToCheck[i], u_errorName(err));
|
| - else
|
| - {
|
| - if (isEuroAware(myConv))
|
| - log_verbose("%s \tsupports euro\n", convertersToCheck[i]);
|
| - else
|
| - log_err("%s \tDOES NOT support euro\n", convertersToCheck[i]);
|
| - ucnv_close(myConv);
|
| - }
|
| - } while (convertersToCheck[++i][0]);
|
| -}
|
| -
|
| -UBool isEuroAware(UConverter* myConv)
|
| -{
|
| - static const UChar euroString[2] = { 0x20AC, 0x0000 };
|
| - char target[20];
|
| - UChar euroBack[2];
|
| - int32_t targetSize, euroBackSize;
|
| - UErrorCode err = U_ZERO_ERROR;
|
| - /*const char* myName = ucnv_getName(myConv, &err);*/
|
| -
|
| - targetSize = ucnv_fromUChars(myConv,
|
| - target,
|
| - sizeof(target),
|
| - euroString,
|
| - -1,
|
| - &err);
|
| - if (U_FAILURE(err))
|
| - {
|
| - log_err("Failure Occured in ucnv_fromUChars euro roundtrip test\n");
|
| - return FALSE;
|
| - }
|
| - euroBackSize = ucnv_toUChars(myConv,
|
| - euroBack,
|
| - 2,
|
| - target,
|
| - targetSize,
|
| - &err);
|
| - (void)euroBackSize; /* Suppress set but not used warning. */
|
| - if (U_FAILURE(err))
|
| - {
|
| - log_err("Failure Occured in ucnv_toUChars euro roundtrip test\n");
|
| - return FALSE;
|
| - }
|
| - if (u_strcmp(euroString, euroBack))
|
| - {
|
| - /* log_err("%s FAILED Euro rountrip\n", myName);*/
|
| - return FALSE;
|
| - }
|
| - else
|
| - {
|
| - /* log_verbose("%s PASSED Euro rountrip\n", myName);*/
|
| - return TRUE;
|
| - }
|
| -
|
| -}
|
| -#else
|
| -void addTestEuroRegression(TestNode** root)
|
| -{
|
| - /* test nothing... */
|
| -}
|
| -#endif
|
|
|