Imported Upstream version 58.1
[platform/upstream/icu.git] / source / test / testmap / testmap.c
1 // Copyright (C) 2016 and later: Unicode, Inc. and others.
2 // License & terms of use: http://www.unicode.org/copyright.html
3 /*
4 **********************************************************************
5 * Copyright (C) 1998-2012, International Business Machines Corporation
6 * and others.  All Rights Reserved.
7 **********************************************************************
8 *
9 * File date.c
10 *
11 * Modification History:
12 *
13 *   Date        Name        Description
14 *   4/26/2000  srl         created
15 *******************************************************************************
16 */
17
18 #include "unicode/utypes.h"
19 #include <stdio.h>
20 #include <string.h>
21 #include "unicode/udata.h"
22 #include "unicode/ucnv.h"
23 #include "ucmndata.h"
24
25 extern const DataHeader U_DATA_API U_ICUDATA_ENTRY_POINT;
26
27 int
28 main(int argc,
29      char **argv)
30 {
31   UConverter *c;
32   UErrorCode status = U_ZERO_ERROR;
33
34   udata_setCommonData(NULL, &status);
35   printf("setCommonData(NULL) -> %s [should fail]\n",  u_errorName(status));
36   if(status != U_ILLEGAL_ARGUMENT_ERROR)
37   {
38     printf("*** FAIL: should have returned U_ILLEGAL_ARGUMENT_ERROR\n");
39     return 1;
40   }
41
42   status = U_ZERO_ERROR;
43   udata_setCommonData(&U_ICUDATA_ENTRY_POINT, &status);  
44   printf("setCommonData(%p) -> %s\n", (void*)&U_ICUDATA_ENTRY_POINT, u_errorName(status));
45   if(U_FAILURE(status))
46   {
47     printf("*** FAIL: should have returned U_ZERO_ERROR\n");
48     return 1;
49   }
50
51   status = U_ZERO_ERROR;
52   c = ucnv_open("iso-8859-3", &status);
53   printf("ucnv_open(iso-8859-3)-> %p, err = %s, name=%s\n",
54          (void *)c, u_errorName(status), (!c)?"?":ucnv_getName(c,&status)  );
55   if(status != U_ZERO_ERROR)
56   {
57     printf("\n*** FAIL: should have returned U_ZERO_ERROR;\n");
58     return 1;
59   }
60   else
61   {
62     ucnv_close(c);
63   }
64
65   status = U_ZERO_ERROR;
66   udata_setCommonData(&U_ICUDATA_ENTRY_POINT, &status);
67   printf("setCommonData(%p) -> %s [should pass]\n", (void*) &U_ICUDATA_ENTRY_POINT, u_errorName(status));
68   if (U_FAILURE(status) || status == U_USING_DEFAULT_WARNING )
69   {
70     printf("\n*** FAIL: should pass and not set U_USING_DEFAULT_ERROR\n");
71     return 1;
72   }
73
74   printf("\n*** PASS PASS PASS, test PASSED!!!!!!!!\n");
75   return 0;
76 }