author | Pavel Heimlich <pavel.heimlich@oracle.com> |
Mon, 08 Nov 2010 11:35:41 +0100 | |
changeset 41 | fb57b25feaf0 |
parent 39 | 65491902381c |
permissions | -rw-r--r-- |
39
65491902381c
add internal tests for Oracle fixes/enhancements
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
diff
changeset
|
1 |
// Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved. |
65491902381c
add internal tests for Oracle fixes/enhancements
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
diff
changeset
|
2 |
#include <stdio.h> |
65491902381c
add internal tests for Oracle fixes/enhancements
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
diff
changeset
|
3 |
#include <errno.h> |
65491902381c
add internal tests for Oracle fixes/enhancements
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
diff
changeset
|
4 |
#include <string.h> |
65491902381c
add internal tests for Oracle fixes/enhancements
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
diff
changeset
|
5 |
#include <stdlib.h> |
65491902381c
add internal tests for Oracle fixes/enhancements
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
diff
changeset
|
6 |
|
65491902381c
add internal tests for Oracle fixes/enhancements
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
diff
changeset
|
7 |
#include <unicode/utypes.h> |
65491902381c
add internal tests for Oracle fixes/enhancements
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
diff
changeset
|
8 |
#include <unicode/ucnv.h> |
65491902381c
add internal tests for Oracle fixes/enhancements
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
diff
changeset
|
9 |
#include <unicode/unistr.h> |
65491902381c
add internal tests for Oracle fixes/enhancements
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
diff
changeset
|
10 |
#include <unicode/translit.h> |
65491902381c
add internal tests for Oracle fixes/enhancements
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
diff
changeset
|
11 |
|
65491902381c
add internal tests for Oracle fixes/enhancements
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
diff
changeset
|
12 |
main(int ac, char **av) |
65491902381c
add internal tests for Oracle fixes/enhancements
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
diff
changeset
|
13 |
{ |
65491902381c
add internal tests for Oracle fixes/enhancements
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
diff
changeset
|
14 |
UConverter *convto = 0; |
65491902381c
add internal tests for Oracle fixes/enhancements
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
diff
changeset
|
15 |
UErrorCode err = U_ZERO_ERROR; |
65491902381c
add internal tests for Oracle fixes/enhancements
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
diff
changeset
|
16 |
int8_t i; |
65491902381c
add internal tests for Oracle fixes/enhancements
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
diff
changeset
|
17 |
|
65491902381c
add internal tests for Oracle fixes/enhancements
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
diff
changeset
|
18 |
printf("Checking ucnv_getMaxCharSize() return value of UTF-7 conversion:\n"); |
65491902381c
add internal tests for Oracle fixes/enhancements
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
diff
changeset
|
19 |
convto = ucnv_open("UTF-7", &err); |
65491902381c
add internal tests for Oracle fixes/enhancements
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
diff
changeset
|
20 |
if (U_FAILURE(err)) { |
65491902381c
add internal tests for Oracle fixes/enhancements
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
diff
changeset
|
21 |
fprintf(stderr, "ucnv_open on UTF-7 error - exiting.\n"); |
65491902381c
add internal tests for Oracle fixes/enhancements
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
diff
changeset
|
22 |
exit(-1); |
65491902381c
add internal tests for Oracle fixes/enhancements
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
diff
changeset
|
23 |
} |
65491902381c
add internal tests for Oracle fixes/enhancements
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
diff
changeset
|
24 |
|
65491902381c
add internal tests for Oracle fixes/enhancements
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
diff
changeset
|
25 |
i = ucnv_getMaxCharSize(convto); |
65491902381c
add internal tests for Oracle fixes/enhancements
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
diff
changeset
|
26 |
if (i == 5) |
65491902381c
add internal tests for Oracle fixes/enhancements
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
diff
changeset
|
27 |
printf("ucnv_getMaxCharSize() for UTF-7 returned %d -- success.\n", i); |
65491902381c
add internal tests for Oracle fixes/enhancements
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
diff
changeset
|
28 |
else |
65491902381c
add internal tests for Oracle fixes/enhancements
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
diff
changeset
|
29 |
printf("ucnv_getMaxCharSize() for UTF-7 returned %d -- failed.\n", i); |
65491902381c
add internal tests for Oracle fixes/enhancements
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
diff
changeset
|
30 |
if (convto) ucnv_close(convto); |
65491902381c
add internal tests for Oracle fixes/enhancements
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
diff
changeset
|
31 |
|
65491902381c
add internal tests for Oracle fixes/enhancements
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
diff
changeset
|
32 |
printf("\nChecking ucnv_getMaxCharSize() return value of MUTF-7 conversion:\n"); |
65491902381c
add internal tests for Oracle fixes/enhancements
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
diff
changeset
|
33 |
convto = ucnv_open("MUTF-7", &err); |
65491902381c
add internal tests for Oracle fixes/enhancements
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
diff
changeset
|
34 |
if (U_FAILURE(err)) { |
65491902381c
add internal tests for Oracle fixes/enhancements
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
diff
changeset
|
35 |
fprintf(stderr, "ucnv_open on MUTF-7 error - exiting.\n"); |
65491902381c
add internal tests for Oracle fixes/enhancements
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
diff
changeset
|
36 |
exit(-1); |
65491902381c
add internal tests for Oracle fixes/enhancements
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
diff
changeset
|
37 |
} |
65491902381c
add internal tests for Oracle fixes/enhancements
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
diff
changeset
|
38 |
|
65491902381c
add internal tests for Oracle fixes/enhancements
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
diff
changeset
|
39 |
i = ucnv_getMaxCharSize(convto); |
65491902381c
add internal tests for Oracle fixes/enhancements
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
diff
changeset
|
40 |
if (i == 8) |
65491902381c
add internal tests for Oracle fixes/enhancements
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
diff
changeset
|
41 |
printf("ucnv_getMaxCharSize() for MUTF-7 returned %d -- success.\n", i); |
65491902381c
add internal tests for Oracle fixes/enhancements
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
diff
changeset
|
42 |
else |
65491902381c
add internal tests for Oracle fixes/enhancements
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
diff
changeset
|
43 |
printf("ucnv_getMaxCharSize() for MUTF-7 returned %d -- failed.\n", i); |
65491902381c
add internal tests for Oracle fixes/enhancements
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
diff
changeset
|
44 |
if (convto) ucnv_close(convto); |
65491902381c
add internal tests for Oracle fixes/enhancements
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
diff
changeset
|
45 |
|
65491902381c
add internal tests for Oracle fixes/enhancements
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
diff
changeset
|
46 |
printf("\nChecking ucnv_getMaxCharSize() return value of ISO-2022-JP conversion:\n"); |
65491902381c
add internal tests for Oracle fixes/enhancements
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
diff
changeset
|
47 |
convto = ucnv_open("ISO-2022-JP", &err); |
65491902381c
add internal tests for Oracle fixes/enhancements
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
diff
changeset
|
48 |
if (U_FAILURE(err)) { |
65491902381c
add internal tests for Oracle fixes/enhancements
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
diff
changeset
|
49 |
fprintf(stderr, "ucnv_open on ISO-2022-JP error - exiting.\n"); |
65491902381c
add internal tests for Oracle fixes/enhancements
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
diff
changeset
|
50 |
exit(-1); |
65491902381c
add internal tests for Oracle fixes/enhancements
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
diff
changeset
|
51 |
} |
65491902381c
add internal tests for Oracle fixes/enhancements
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
diff
changeset
|
52 |
|
65491902381c
add internal tests for Oracle fixes/enhancements
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
diff
changeset
|
53 |
i = ucnv_getMaxCharSize(convto); |
65491902381c
add internal tests for Oracle fixes/enhancements
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
diff
changeset
|
54 |
if (i == 9) |
65491902381c
add internal tests for Oracle fixes/enhancements
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
diff
changeset
|
55 |
printf("ucnv_getMaxCharSize() for ISO-2022-JP returned %d -- success.\n", i); |
65491902381c
add internal tests for Oracle fixes/enhancements
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
diff
changeset
|
56 |
else |
65491902381c
add internal tests for Oracle fixes/enhancements
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
diff
changeset
|
57 |
printf("ucnv_getMaxCharSize() for ISO-2022-JP returned %d -- failed.\n", i); |
65491902381c
add internal tests for Oracle fixes/enhancements
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
diff
changeset
|
58 |
if (convto) ucnv_close(convto); |
65491902381c
add internal tests for Oracle fixes/enhancements
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
diff
changeset
|
59 |
|
65491902381c
add internal tests for Oracle fixes/enhancements
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
diff
changeset
|
60 |
printf("\nChecking ucnv_getMaxCharSize() return value of ISO-2022-KR conversion:\n"); |
65491902381c
add internal tests for Oracle fixes/enhancements
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
diff
changeset
|
61 |
convto = ucnv_open("ISO-2022-KR", &err); |
65491902381c
add internal tests for Oracle fixes/enhancements
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
diff
changeset
|
62 |
if (U_FAILURE(err)) { |
65491902381c
add internal tests for Oracle fixes/enhancements
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
diff
changeset
|
63 |
fprintf(stderr, "ucnv_open on ISO-2022-KR error - exiting.\n"); |
65491902381c
add internal tests for Oracle fixes/enhancements
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
diff
changeset
|
64 |
exit(-1); |
65491902381c
add internal tests for Oracle fixes/enhancements
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
diff
changeset
|
65 |
} |
65491902381c
add internal tests for Oracle fixes/enhancements
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
diff
changeset
|
66 |
|
65491902381c
add internal tests for Oracle fixes/enhancements
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
diff
changeset
|
67 |
i = ucnv_getMaxCharSize(convto); |
65491902381c
add internal tests for Oracle fixes/enhancements
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
diff
changeset
|
68 |
if (i == 8) |
65491902381c
add internal tests for Oracle fixes/enhancements
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
diff
changeset
|
69 |
printf("ucnv_getMaxCharSize() for ISO-2022-KR returned %d -- success.\n", i); |
65491902381c
add internal tests for Oracle fixes/enhancements
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
diff
changeset
|
70 |
else |
65491902381c
add internal tests for Oracle fixes/enhancements
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
diff
changeset
|
71 |
printf("ucnv_getMaxCharSize() for ISO-2022-KR returned %d -- failed.\n", i); |
65491902381c
add internal tests for Oracle fixes/enhancements
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
diff
changeset
|
72 |
if (convto) ucnv_close(convto); |
65491902381c
add internal tests for Oracle fixes/enhancements
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
diff
changeset
|
73 |
|
41
fb57b25feaf0
fix failing internal tests
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
39
diff
changeset
|
74 |
printf("\nChecking ucnv_getMaxCharSize() return value of ISO-2022-CN conversion:\n"); |
fb57b25feaf0
fix failing internal tests
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
39
diff
changeset
|
75 |
convto = ucnv_open("ISO-2022-CN", &err); |
39
65491902381c
add internal tests for Oracle fixes/enhancements
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
diff
changeset
|
76 |
if (U_FAILURE(err)) { |
41
fb57b25feaf0
fix failing internal tests
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
39
diff
changeset
|
77 |
fprintf(stderr, "ucnv_open on ISO-2022-CN error - exiting.\n"); |
39
65491902381c
add internal tests for Oracle fixes/enhancements
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
diff
changeset
|
78 |
exit(-1); |
65491902381c
add internal tests for Oracle fixes/enhancements
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
diff
changeset
|
79 |
} |
65491902381c
add internal tests for Oracle fixes/enhancements
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
diff
changeset
|
80 |
|
65491902381c
add internal tests for Oracle fixes/enhancements
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
diff
changeset
|
81 |
i = ucnv_getMaxCharSize(convto); |
41
fb57b25feaf0
fix failing internal tests
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
39
diff
changeset
|
82 |
if (i == 8) |
fb57b25feaf0
fix failing internal tests
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
39
diff
changeset
|
83 |
printf("ucnv_getMaxCharSize() for ISO-2022-CN returned %d -- success.\n", i); |
39
65491902381c
add internal tests for Oracle fixes/enhancements
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
diff
changeset
|
84 |
else |
41
fb57b25feaf0
fix failing internal tests
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
39
diff
changeset
|
85 |
printf("ucnv_getMaxCharSize() for ISO-2022-CN returned %d -- failed.\n", i); |
39
65491902381c
add internal tests for Oracle fixes/enhancements
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
diff
changeset
|
86 |
if (convto) ucnv_close(convto); |
65491902381c
add internal tests for Oracle fixes/enhancements
Pavel Heimlich <pavel.heimlich@oracle.com>
parents:
diff
changeset
|
87 |
} |