]>
git.saurik.com Git - apple/icu.git/blob - icuSources/test/cintltst/cposxtst.c
2 **********************************************************************
3 * Copyright (c) 2003, International Business Machines
4 * Corporation and others. All Rights Reserved.
5 **********************************************************************
7 * Created: March 20 2003
9 **********************************************************************
14 #include "unicode/ucat.h"
15 #include "unicode/ustring.h"
17 /**********************************************************************/
20 void TestMessageCatalog(void);
22 /**********************************************************************/
23 /* Add our tests into the hierarchy */
25 void addPosixTest(TestNode
** root
);
27 void addPosixTest(TestNode
** root
)
29 addTest(root
, &TestMessageCatalog
, "tsutil/cposxtst/TestMessageCatalog");
32 /**********************************************************************/
33 /* Test basic ucat.h API */
35 void TestMessageCatalog(void) {
37 UErrorCode ec
= U_ZERO_ERROR
;
39 const char* DATA
[] = {
40 /* set_num, msg_num, expected string result, expected error code */
41 "1", "4", "Good morning.", "U_ZERO_ERROR",
42 "1", "5", "Good afternoon.", "U_ZERO_ERROR",
43 "1", "6", "FAIL", "U_MISSING_RESOURCE_ERROR",
44 "1", "7", "Good evening.", "U_ZERO_ERROR",
45 "1", "8", "Good night.", "U_ZERO_ERROR",
46 "1", "9", "FAIL", "U_MISSING_RESOURCE_ERROR",
47 "3", "1", "FAIL", "U_MISSING_RESOURCE_ERROR",
48 "4", "14", "Please ", "U_ZERO_ERROR",
49 "4", "15", "FAIL", "U_MISSING_RESOURCE_ERROR",
50 "4", "19", "Thank you.", "U_ZERO_ERROR",
51 "4", "20", "Sincerely,", "U_ZERO_ERROR",
54 const UChar FAIL
[] = {0x46, 0x41, 0x49, 0x4C, 0x00}; /* "FAIL" */
56 const char *path
= loadTestData(&ec
);
59 log_err("FAIL: loadTestData => %s\n", u_errorName(ec
));
63 catd
= u_catopen(path
, "mc", &ec
);
65 log_err("FAIL: u_catopen => %s\n", u_errorName(ec
));
69 for (i
=0; DATA
[i
]!=NULL
; i
+=4) {
70 int32_t set_num
= T_CString_stringToInteger(DATA
[i
], 10);
71 int32_t msg_num
= T_CString_stringToInteger(DATA
[i
+1], 10);
78 u_uastrcpy(exp
, DATA
[i
+2]);
81 ustr
= u_catgets(catd
, set_num
, msg_num
, FAIL
, &len
, &ec
);
82 u_austrcpy(str
, ustr
);
83 err
= u_errorName(ec
);
85 log_verbose("u_catgets(%d, %d) => \"%s\", len=%d, %s\n",
86 set_num
, msg_num
, str
, len
, err
);
88 if (u_strcmp(ustr
, exp
) != 0) {
89 log_err("FAIL: u_catgets => \"%s\", exp. \"%s\"\n",
93 if (len
!= (int32_t) uprv_strlen(DATA
[i
+2])) {
94 log_err("FAIL: u_catgets => len=%d, exp. %d\n",
95 len
, uprv_strlen(DATA
[i
+2]));
98 if (uprv_strcmp(err
, DATA
[i
+3]) != 0) {
99 log_err("FAIL: u_catgets => %s, exp. %s\n",