OSDN Git Service

* Fixed Bug.
[modchxj/mod_chxj.git] / test / chxj_conv_kana / test_chxj_conv_kana.c
1 #include <CUnit/CUnit.h>
2 #include <CUnit/Console.h>
3 #include <CUnit/Basic.h>
4 #include <stdio.h>
5 #define CHXJ_TEST
6 #define IMG_NOT_CONVERT_FILENAME
7
8 #include "apr_uri.h"
9 #include "chxj_apache.h"
10 #include "apr.h"
11 #include "qs_malloc.c"
12 #include "qs_log.c"
13 #include "qs_parse_tag.c"
14 #include "qs_parse_string.c"
15 #include "qs_parse_attr.c"
16 #include "qs_ignore_sp.c"
17 #include "qs_parse_file.c"
18 #include "chxj_buffered_write.c"
19 #include "chxj_conv_kana.c"
20 #include "chxj_node_convert.c"
21 #include "chxj_tag_util.c"
22 #include "chxj_encoding.c"
23 #include "chxj_img_conv.c"
24 #include "chxj_url_encode.c"
25 #include "chxj_apache.c"
26 #include "chxj_str_util.c"
27 #include <iconv.h>
28
29
30
31 void test_conv_kana_001();
32 /* pend */
33
34 int
35 main()
36 {
37   CU_pSuite conv_kana_suite;
38   CU_initialize_registry();
39   conv_kana_suite = CU_add_suite("test chxj_convert_conv_kana()", NULL, NULL);
40   CU_add_test(conv_kana_suite, "test void src1",                                    test_conv_kana_001);
41   /* aend */
42
43   CU_basic_run_tests();
44   CU_cleanup_registry();
45
46   return(0);
47 }
48
49 void test_log_rerror(const char *file, int line, int level, apr_status_t status, const request_rec *r, const char *fmt, ...)
50 {
51   va_list ap;
52   fprintf(stderr, "ERROR LOG %s:%d ", file,line);
53   va_start(ap, fmt);
54   vfprintf(stderr, fmt,ap);
55   va_end(ap);
56   fprintf(stderr, "\n");
57 }
58 void test_log_error(const char *file, int line, int level, apr_status_t status, const request_rec *r, const char *fmt, ...)
59 {
60   va_list ap;
61   fprintf(stderr, "ERROR LOG %s:%d ", file,line);
62   va_start(ap, fmt);
63   vfprintf(stderr, fmt,ap);
64   va_end(ap);
65   fprintf(stderr, "\n");
66 }
67
68 char *chxj_qr_code_blob_handler(request_rec* r, const char* indata, size_t* len)
69 {
70   return NULL;
71 }
72
73 char *test_os_escape_path(apr_pool_t *p, const char *path, int partial)
74 {
75   return (char *)path;
76 }
77
78 void test_set_content_type(request_rec *r, const char *ct)
79 {
80   fprintf(stderr, "%s:%d set_content_type(%s)\n", __FILE__,__LINE__,ct);
81 }
82
83 const char *test_run_http_scheme(request_rec *r)
84 {
85   static char *s = "http";
86   return s;
87 }
88
89 tag_handler chtml10_handler[] = {};
90 tag_handler chtml20_handler[] = {};
91 tag_handler chtml30_handler[] = {};
92 tag_handler chtml40_handler[] = {};
93 tag_handler chtml50_handler[] = {};
94 tag_handler hdml_handler[] = {};
95 tag_handler jhtml_handler[] = {};
96 tag_handler jxhtml_handler[] = {};
97 tag_handler xhtml_handler[] = {};
98 void * test_get_module_config(const ap_conf_vector_t *cv, const module *m)
99 {
100   static mod_chxj_config cfg;
101   memset(&cfg, 0, sizeof(mod_chxj_config));
102   cfg.new_line_type = NLTYPE_NONE;
103   return &cfg;
104 }
105
106 chxjconvrule_entry *
107 chxj_apply_convrule(request_rec* r, apr_array_header_t* convrules)
108 {
109   static chxjconvrule_entry entries;
110   memset(&entries, 0, sizeof(chxjconvrule_entry));
111   entries.encoding = apr_pstrdup(r->pool, "UTF8");
112   entries.action |= CONVRULE_Z2H_ON_BIT;
113   return &entries;
114 }
115
116
117 char *test_ap_escape_html(apr_pool_t *pool, const char *s)
118 {
119   return (char *)s;
120 }
121
122 #define APR_INIT \
123   request_rec r; \
124   apr_pool_t *p; \
125   do { \
126     apr_initialize(); \
127     apr_pool_create(&p, NULL); \
128     r.pool = p; \
129     r.hostname = apr_pstrdup(p, "localhost"); \
130   } \
131   while (0)
132
133 #define APR_TERM \
134   do { \
135     apr_terminate(); \
136   } while (0)
137
138 #define COOKIE_INIT(X) \
139   do { \
140     X.cookie_id = "test_cookie_id"; \
141   } while (0) \
142
143 #define SPEC_INIT(X) \
144   do { \
145     X.html_spec_type = CHXJ_SPEC_Chtml_1_0; \
146   } while (0)
147
148
149
150 void test_conv_kana_001()
151 {
152 #define  TEST_STRING "ァアィイゥウェエォオカガキギクグケゲコゴ" \
153                      "サザシジスズセゼソゾタダチヂッツヅテデトド" \
154                      "ナニヌネノハバパヒビピフブプヘベペホボポ" \
155                      "マミムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶ" \
156                      "、。,.・:;?!゛゜" \
157                      "゛゜「」ー"
158 #define  RESULT_STRING "ァアィイゥウェエォオカガキギクグケゲコゴ" \
159                        "サザシジスズセゼソゾタダチヂッツヅテデトド" \
160                        "ナニヌネノハバパヒビピフブプヘベペホボポ" \
161                        "マミムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶ" \
162                        "、。,.・:;?!゙゚゙゚「」ー"
163   char  *ret;
164   device_table spec;
165   chxjconvrule_entry entry;
166   cookie_t cookie;
167   apr_size_t destlen;
168   APR_INIT;
169
170
171   COOKIE_INIT(cookie);
172
173   SPEC_INIT(spec);
174   memset(&entry, 0, sizeof(chxjconvrule_entry));
175   entry.encoding = apr_pstrdup(r.pool, "UTF8");
176   entry.action |= CONVRULE_Z2H_ON_BIT;
177
178   destlen = sizeof(TEST_STRING)-1;
179   char *s = chxj_encoding(&r, TEST_STRING, &destlen);
180   ret = chxj_conv_z2h_kana(&r, s, &destlen,&entry);
181   destlen = strlen(ret);
182   ret = chxj_rencoding(&r, ret, &destlen);
183
184   fprintf(stderr, "actual:[%s]\n", ret);
185   fprintf(stderr, "expect:[%s]\n", RESULT_STRING);
186   CU_ASSERT(ret != NULL);
187   CU_ASSERT(strcmp(RESULT_STRING, ret) == 0);
188
189   APR_TERM;
190 #undef TEST_STRING
191 }
192 /*
193  * vim:ts=2 et
194  */