From: konn Date: Sat, 19 Jul 2008 05:02:17 +0000 (+0000) Subject: * Added div tag with CSS for CHTML3.0 converter. X-Git-Tag: v0.13.0~1350 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=c28e29ca846375da34dc43175a928bf46718f21e;p=modchxj%2Fmod_chxj.git * Added div tag with CSS for CHTML3.0 converter. git-svn-id: svn+ssh://svn.sourceforge.jp/svnroot/modchxj/mod_chxj/branches/sandbox@3015 1a406e8e-add9-4483-a2c8-d8cac5b7c224 --- diff --git a/include/chxj_chtml30.h b/include/chxj_chtml30.h index cabfdd40..8b875619 100644 --- a/include/chxj_chtml30.h +++ b/include/chxj_chtml30.h @@ -50,6 +50,7 @@ struct _chtml30_flags_t { int with_font_flag; int with_blink_flag; int with_div_flag; + int with_marquee_flag; }; /*----------------------------------------------------------------------------*/ diff --git a/src/chxj_chtml30.c b/src/chxj_chtml30.c index 4dcea42f..12dfebd0 100644 --- a/src/chxj_chtml30.c +++ b/src/chxj_chtml30.c @@ -2443,40 +2443,138 @@ s_chtml30_end_option_tag(void *pdoc, Node *UNUSED(child)) * @return The conversion result is returned. */ static char * -s_chtml30_start_div_tag(void *pdoc, Node *child) +s_chtml30_start_div_tag(void *pdoc, Node *node) { - Attr *attr; - chtml30_t *chtml30; - Doc *doc; - request_rec *r; - char *align; + chtml30_t *chtml30; + Doc *doc; + request_rec *r; + Attr *attr; + char *attr_style = NULL; + char *attr_align = NULL; + char *attr_display = NULL; + char *attr_decoration = NULL; + char *attr_wap_marquee_style = NULL; + char *attr_wap_marquee_dir = NULL; + char *attr_wap_marquee_loop = NULL; + char *attr_color = NULL; chtml30 = GET_CHTML30(pdoc); doc = chtml30->doc; r = doc->r; - align = NULL; - W_L("buf.pool, val); + attr_align = apr_pstrdup(doc->buf.pool, val); } } + else if (STRCASEEQ('s','S',"style",nm) && val && *val) { + attr_style = apr_pstrdup(doc->buf.pool, val); + } } - if (align) { + + if (IS_CSS_ON(chtml30->entryp)) { + css_prop_list_t *style = s_chtml30_nopush_and_get_now_style(pdoc, node, attr_style); + if (style) { + css_property_t *display_prop = chxj_css_get_property_value(doc, style, "display"); + css_property_t *text_decoration_prop = chxj_css_get_property_value(doc, style, "text-decoration"); + css_property_t *color_prop = chxj_css_get_property_value(doc, style, "color"); + css_property_t *text_align_prop = chxj_css_get_property_value(doc, style, "text-align"); + + css_property_t *cur; + for (cur = display_prop->next; cur != display_prop; cur = cur->next) { + if (strcasecmp("-wap-marquee", cur->value) == 0) { + attr_display = apr_pstrdup(doc->pool, cur->value); + } + } + for (cur = text_decoration_prop->next; cur != text_decoration_prop; cur = cur->next) { + if (STRCASEEQ('b','B',"blink", cur->value)) { + attr_decoration = apr_pstrdup(doc->pool, cur->value); + } + } + for (cur = color_prop->next; cur != color_prop; cur = cur->next) { + attr_color = apr_pstrdup(doc->pool, cur->value); + } + for (cur = text_align_prop->next; cur != text_align_prop; cur = cur->next) { + attr_align = apr_pstrdup(doc->pool, cur->value); + } + if (attr_display) { + css_property_t *wap_marquee_style_prop = chxj_css_get_property_value(doc, style, "-wap-marquee-style"); + css_property_t *wap_marquee_dir_prop = chxj_css_get_property_value(doc, style, "-wap-marquee-dir"); + css_property_t *wap_marquee_loop_prop = chxj_css_get_property_value(doc, style, "-wap-marquee-loop"); + for (cur = wap_marquee_style_prop->next; cur != wap_marquee_style_prop; cur = cur->next) { + if (STRCASEEQ('s','S',"scroll", cur->value) || STRCASEEQ('s','S',"slide",cur->value) || STRCASEEQ('a','A',"alternate",cur->value)) { + attr_wap_marquee_style = apr_pstrdup(doc->pool, cur->value); + } + } + for (cur = wap_marquee_dir_prop->next; cur != wap_marquee_dir_prop; cur = cur->next) { + if (STRCASEEQ('l','L',"ltr",cur->value)) { + attr_wap_marquee_dir = apr_pstrdup(doc->pool, "right"); + } + else if (STRCASEEQ('r','R',"rtl",cur->value)) { + attr_wap_marquee_dir = apr_pstrdup(doc->pool, "left"); + } + } + for (cur = wap_marquee_loop_prop->next; cur != wap_marquee_loop_prop; cur = cur->next) { + if (STRCASEEQ('i','I',"infinite",cur->value)) { + attr_wap_marquee_loop = apr_pstrdup(doc->pool, "16"); + } + else { + attr_wap_marquee_loop = apr_pstrdup(doc->pool, cur->value); + } + } + } + } + } + chtml30_flags_t *flg = (chtml30_flags_t *)apr_palloc(doc->pool, sizeof(chtml30_flags_t)); + memset(flg, 0, sizeof(*flg)); + if (attr_align) { + W_L(""); + flg->with_div_flag = 1; } - W_L(">"); + if (attr_color) { + W_L(""); + flg->with_font_flag = 1; + } + if (attr_decoration) { + W_L(""); + flg->with_blink_flag = 1; + } + if (attr_display) { + W_L(""); + flg->with_marquee_flag = 1; + } + node->userData = flg; + return chtml30->out; } @@ -2490,12 +2588,28 @@ s_chtml30_start_div_tag(void *pdoc, Node *child) * @return The conversion result is returned. */ static char * -s_chtml30_end_div_tag(void *pdoc, Node *UNUSED(node)) +s_chtml30_end_div_tag(void *pdoc, Node *node) { chtml30_t *chtml30 = GET_CHTML30(pdoc); Doc *doc = chtml30->doc; - W_L(""); + chtml30_flags_t *flg = node->userData; + if (flg && flg->with_marquee_flag) { + W_L(""); + } + if (flg && flg->with_blink_flag) { + W_L(""); + } + if (flg && flg->with_font_flag) { + W_L(""); + } + if (flg && flg->with_div_flag) { + W_L(""); + } + if (IS_CSS_ON(chtml30->entryp)) { + chxj_css_pop_prop_list(chtml30->css_prop_stack); + } + node->userData = NULL; return chtml30->out; } diff --git a/test/chxj_chtml30/test_chxj_chtml30.c b/test/chxj_chtml30/test_chxj_chtml30.c index 38cee05e..ac34a0db 100644 --- a/test/chxj_chtml30/test_chxj_chtml30.c +++ b/test/chxj_chtml30/test_chxj_chtml30.c @@ -631,6 +631,35 @@ void test_chtml30_img_tag_with_css_007(); void test_chtml30_img_tag_with_css_008(); void test_chtml30_img_tag_with_css_009(); void test_chtml30_img_tag_with_css_010(); + +void test_chtml30_div_tag_with_css_001(); +void test_chtml30_div_tag_with_css_002(); +void test_chtml30_div_tag_with_css_003(); +void test_chtml30_div_tag_with_css_004(); +void test_chtml30_div_tag_with_css_005(); +void test_chtml30_div_tag_with_css_006(); +void test_chtml30_div_tag_with_css_007(); +void test_chtml30_div_tag_with_css_008(); +void test_chtml30_div_tag_with_css_009(); +void test_chtml30_div_tag_with_css_010(); +void test_chtml30_div_tag_with_css_011(); +void test_chtml30_div_tag_with_css_012(); +void test_chtml30_div_tag_with_css_013(); +void test_chtml30_div_tag_with_css_014(); +void test_chtml30_div_tag_with_css_015(); +void test_chtml30_div_tag_with_css_016(); +void test_chtml30_div_tag_with_css_017(); +void test_chtml30_div_tag_with_css_018(); +void test_chtml30_div_tag_with_css_019(); +void test_chtml30_div_tag_with_css_020(); +void test_chtml30_div_tag_with_css_021(); +void test_chtml30_div_tag_with_css_022(); +void test_chtml30_div_tag_with_css_023(); +void test_chtml30_div_tag_with_css_024(); +void test_chtml30_div_tag_with_css_025(); +void test_chtml30_div_tag_with_css_026(); +void test_chtml30_div_tag_with_css_027(); +void test_chtml30_div_tag_with_css_028(); /* pend */ int @@ -1223,6 +1252,35 @@ main() CU_add_test(chtml30_suite, "test img with css 008", test_chtml30_img_tag_with_css_008); CU_add_test(chtml30_suite, "test img with css 009", test_chtml30_img_tag_with_css_009); CU_add_test(chtml30_suite, "test img with css 010", test_chtml30_img_tag_with_css_010); + + CU_add_test(chtml30_suite, "test div with css 001", test_chtml30_div_tag_with_css_001); + CU_add_test(chtml30_suite, "test div with css 002", test_chtml30_div_tag_with_css_002); + CU_add_test(chtml30_suite, "test div with css 003", test_chtml30_div_tag_with_css_003); + CU_add_test(chtml30_suite, "test div with css 004", test_chtml30_div_tag_with_css_004); + CU_add_test(chtml30_suite, "test div with css 005", test_chtml30_div_tag_with_css_005); + CU_add_test(chtml30_suite, "test div with css 006", test_chtml30_div_tag_with_css_006); + CU_add_test(chtml30_suite, "test div with css 007", test_chtml30_div_tag_with_css_007); + CU_add_test(chtml30_suite, "test div with css 008", test_chtml30_div_tag_with_css_008); + CU_add_test(chtml30_suite, "test div with css 009", test_chtml30_div_tag_with_css_009); + CU_add_test(chtml30_suite, "test div with css 010", test_chtml30_div_tag_with_css_010); + CU_add_test(chtml30_suite, "test div with css 011", test_chtml30_div_tag_with_css_011); + CU_add_test(chtml30_suite, "test div with css 012", test_chtml30_div_tag_with_css_012); + CU_add_test(chtml30_suite, "test div with css 013", test_chtml30_div_tag_with_css_013); + CU_add_test(chtml30_suite, "test div with css 014", test_chtml30_div_tag_with_css_014); + CU_add_test(chtml30_suite, "test div with css 015", test_chtml30_div_tag_with_css_015); + CU_add_test(chtml30_suite, "test div with css 016", test_chtml30_div_tag_with_css_016); + CU_add_test(chtml30_suite, "test div with css 017", test_chtml30_div_tag_with_css_017); + CU_add_test(chtml30_suite, "test div with css 018", test_chtml30_div_tag_with_css_018); + CU_add_test(chtml30_suite, "test div with css 019", test_chtml30_div_tag_with_css_019); + CU_add_test(chtml30_suite, "test div with css 020", test_chtml30_div_tag_with_css_020); + CU_add_test(chtml30_suite, "test div with css 021", test_chtml30_div_tag_with_css_021); + CU_add_test(chtml30_suite, "test div with css 022", test_chtml30_div_tag_with_css_022); + CU_add_test(chtml30_suite, "test div with css 023", test_chtml30_div_tag_with_css_023); + CU_add_test(chtml30_suite, "test div with css 024", test_chtml30_div_tag_with_css_024); + CU_add_test(chtml30_suite, "test div with css 025", test_chtml30_div_tag_with_css_025); + CU_add_test(chtml30_suite, "test div with css 026", test_chtml30_div_tag_with_css_026); + CU_add_test(chtml30_suite, "test div with css 027", test_chtml30_div_tag_with_css_027); + CU_add_test(chtml30_suite, "test div with css 028", test_chtml30_div_tag_with_css_028); /* aend */ CU_basic_run_tests(); @@ -2905,7 +2963,7 @@ void test_chtml30_dd_tag_002() void test_chtml30_div_tag_001() { #define TEST_STRING "
" -#define RESULT_STRING "
" +#define RESULT_STRING "" char *ret; char *tmp; device_table spec; @@ -3017,7 +3075,7 @@ void test_chtml30_div_tag_004() void test_chtml30_div_tag_005() { #define TEST_STRING "
" -#define RESULT_STRING "
" +#define RESULT_STRING "" char *ret; char *tmp; device_table spec; @@ -3045,7 +3103,7 @@ void test_chtml30_div_tag_005() void test_chtml30_div_tag_006() { #define TEST_STRING "
" -#define RESULT_STRING "
" +#define RESULT_STRING "" char *ret; char *tmp; device_table spec; @@ -3073,7 +3131,7 @@ void test_chtml30_div_tag_006() void test_chtml30_div_tag_007() { #define TEST_STRING "
" -#define RESULT_STRING "
" +#define RESULT_STRING "" char *ret; char *tmp; device_table spec; @@ -17783,6 +17841,1124 @@ void test_chtml30_img_tag_with_css_010() #undef TEST_STRING #undef RESULT_STRING } + + + + + + +/*===========================================================================*/ +/* div tag with CSS */ +/*===========================================================================*/ +char *test_chxj_serf_get120(request_rec *r, apr_pool_t *ppool, const char *uri_path, int ss, apr_size_t *len) +{ + static char *css = "a:focus { display: none }\n" + "a:link { display: none }\n" + "a { display: none }\n" + "hr { display: none }\n" + "a:visited { display:none }\n" + "div { text-align:left }\n"; + *len = strlen(css); + call_check = 1; + return css; +} +void test_chtml30_div_tag_with_css_001() +{ +#define TEST_STRING "" \ + "
あいう
" +#define RESULT_STRING "
あいう
" + char *ret; + char *tmp; + device_table spec; + chxjconvrule_entry entry; + cookie_t cookie; + apr_size_t destlen; + APR_INIT; + chxj_serf_get = test_chxj_serf_get120; + call_check = 0; + + COOKIE_INIT(cookie); + + SPEC_INIT(spec); + destlen = sizeof(TEST_STRING)-1; + entry.action |= CONVRULE_CSS_ON_BIT; + + tmp = chxj_encoding(&r, TEST_STRING, &destlen); + ret = chxj_convert_chtml30(&r, &spec, tmp, destlen, &destlen, &entry, &cookie); + ret = chxj_rencoding(&r, ret, &destlen); + CU_ASSERT(ret != NULL); + CU_ASSERT(strcmp(RESULT_STRING, ret) == 0); + CU_ASSERT(destlen == sizeof(RESULT_STRING)-1); + CU_ASSERT(call_check == 1); + + APR_TERM; +#undef TEST_STRING +#undef RESULT_STRING +} +void test_chtml30_div_tag_with_css_002() +{ +#define TEST_STRING "" \ + "
あいう
" +#define RESULT_STRING "
あいう
" + char *ret; + char *tmp; + device_table spec; + chxjconvrule_entry entry; + cookie_t cookie; + apr_size_t destlen; + APR_INIT; + chxj_serf_get = test_chxj_serf_get120; + call_check = 0; + + COOKIE_INIT(cookie); + + SPEC_INIT(spec); + destlen = sizeof(TEST_STRING)-1; + entry.action |= CONVRULE_CSS_ON_BIT; + + tmp = chxj_encoding(&r, TEST_STRING, &destlen); + ret = chxj_convert_chtml30(&r, &spec, tmp, destlen, &destlen, &entry, &cookie); + ret = chxj_rencoding(&r, ret, &destlen); + CU_ASSERT(ret != NULL); + CU_ASSERT(strcmp(RESULT_STRING, ret) == 0); + CU_ASSERT(destlen == sizeof(RESULT_STRING)-1); + CU_ASSERT(call_check == 0); + + APR_TERM; +#undef TEST_STRING +#undef RESULT_STRING +} + +char *test_chxj_serf_get121(request_rec *r, apr_pool_t *ppool, const char *uri_path, int ss, apr_size_t *len) +{ + static char *css = "a:focus { display: none }\n" + "a:link { display: none }\n" + "a { display: none }\n" + "hr { display: none }\n" + "a:visited { display:none }\n" + "div { text-align:center }\n"; + *len = strlen(css); + call_check = 1; + return css; +} +void test_chtml30_div_tag_with_css_003() +{ +#define TEST_STRING "" \ + "
あいう
" +#define RESULT_STRING "
あいう
" + char *ret; + char *tmp; + device_table spec; + chxjconvrule_entry entry; + cookie_t cookie; + apr_size_t destlen; + APR_INIT; + chxj_serf_get = test_chxj_serf_get121; + call_check = 0; + + COOKIE_INIT(cookie); + + SPEC_INIT(spec); + destlen = sizeof(TEST_STRING)-1; + entry.action |= CONVRULE_CSS_ON_BIT; + + tmp = chxj_encoding(&r, TEST_STRING, &destlen); + ret = chxj_convert_chtml30(&r, &spec, tmp, destlen, &destlen, &entry, &cookie); + ret = chxj_rencoding(&r, ret, &destlen); + CU_ASSERT(ret != NULL); + CU_ASSERT(strcmp(RESULT_STRING, ret) == 0); + CU_ASSERT(destlen == sizeof(RESULT_STRING)-1); + CU_ASSERT(call_check == 1); + + APR_TERM; +#undef TEST_STRING +#undef RESULT_STRING +} +void test_chtml30_div_tag_with_css_004() +{ +#define TEST_STRING "" \ + "
あいう
" +#define RESULT_STRING "
あいう
" + char *ret; + char *tmp; + device_table spec; + chxjconvrule_entry entry; + cookie_t cookie; + apr_size_t destlen; + APR_INIT; + chxj_serf_get = test_chxj_serf_get121; + call_check = 0; + + COOKIE_INIT(cookie); + + SPEC_INIT(spec); + destlen = sizeof(TEST_STRING)-1; + entry.action |= CONVRULE_CSS_ON_BIT; + + tmp = chxj_encoding(&r, TEST_STRING, &destlen); + ret = chxj_convert_chtml30(&r, &spec, tmp, destlen, &destlen, &entry, &cookie); + ret = chxj_rencoding(&r, ret, &destlen); + CU_ASSERT(ret != NULL); + CU_ASSERT(strcmp(RESULT_STRING, ret) == 0); + CU_ASSERT(destlen == sizeof(RESULT_STRING)-1); + CU_ASSERT(call_check == 0); + + APR_TERM; +#undef TEST_STRING +#undef RESULT_STRING +} +char *test_chxj_serf_get122(request_rec *r, apr_pool_t *ppool, const char *uri_path, int ss, apr_size_t *len) +{ + static char *css = "a:focus { display: none }\n" + "a:link { display: none }\n" + "a { display: none }\n" + "hr { display: none }\n" + "a:visited { display:none }\n" + "div { text-align:right }\n"; + *len = strlen(css); + call_check = 1; + return css; +} +void test_chtml30_div_tag_with_css_005() +{ +#define TEST_STRING "" \ + "
あいう
" +#define RESULT_STRING "
あいう
" + char *ret; + char *tmp; + device_table spec; + chxjconvrule_entry entry; + cookie_t cookie; + apr_size_t destlen; + APR_INIT; + chxj_serf_get = test_chxj_serf_get122; + call_check = 0; + + COOKIE_INIT(cookie); + + SPEC_INIT(spec); + destlen = sizeof(TEST_STRING)-1; + entry.action |= CONVRULE_CSS_ON_BIT; + + tmp = chxj_encoding(&r, TEST_STRING, &destlen); + ret = chxj_convert_chtml30(&r, &spec, tmp, destlen, &destlen, &entry, &cookie); + ret = chxj_rencoding(&r, ret, &destlen); + CU_ASSERT(ret != NULL); + CU_ASSERT(strcmp(RESULT_STRING, ret) == 0); + CU_ASSERT(destlen == sizeof(RESULT_STRING)-1); + CU_ASSERT(call_check == 1); + + APR_TERM; +#undef TEST_STRING +#undef RESULT_STRING +} +void test_chtml30_div_tag_with_css_006() +{ +#define TEST_STRING "" \ + "
あいう
" +#define RESULT_STRING "
あいう
" + char *ret; + char *tmp; + device_table spec; + chxjconvrule_entry entry; + cookie_t cookie; + apr_size_t destlen; + APR_INIT; + chxj_serf_get = test_chxj_serf_get122; + call_check = 0; + + COOKIE_INIT(cookie); + + SPEC_INIT(spec); + destlen = sizeof(TEST_STRING)-1; + entry.action |= CONVRULE_CSS_ON_BIT; + + tmp = chxj_encoding(&r, TEST_STRING, &destlen); + ret = chxj_convert_chtml30(&r, &spec, tmp, destlen, &destlen, &entry, &cookie); + ret = chxj_rencoding(&r, ret, &destlen); + CU_ASSERT(ret != NULL); + CU_ASSERT(strcmp(RESULT_STRING, ret) == 0); + CU_ASSERT(destlen == sizeof(RESULT_STRING)-1); + CU_ASSERT(call_check == 0); + + APR_TERM; +#undef TEST_STRING +#undef RESULT_STRING +} +char *test_chxj_serf_get123(request_rec *r, apr_pool_t *ppool, const char *uri_path, int ss, apr_size_t *len) +{ + static char *css = "a:focus { display: none }\n" + "a:link { display: none }\n" + "a { display: none }\n" + "hr { display: none }\n" + "a:visited { display:none }\n" + "div { color:#ff0000 }\n"; + *len = strlen(css); + call_check = 1; + return css; +} +void test_chtml30_div_tag_with_css_007() +{ +#define TEST_STRING "" \ + "
あいう
" +#define RESULT_STRING "あいう" + char *ret; + char *tmp; + device_table spec; + chxjconvrule_entry entry; + cookie_t cookie; + apr_size_t destlen; + APR_INIT; + chxj_serf_get = test_chxj_serf_get123; + call_check = 0; + + COOKIE_INIT(cookie); + + SPEC_INIT(spec); + destlen = sizeof(TEST_STRING)-1; + entry.action |= CONVRULE_CSS_ON_BIT; + + tmp = chxj_encoding(&r, TEST_STRING, &destlen); + ret = chxj_convert_chtml30(&r, &spec, tmp, destlen, &destlen, &entry, &cookie); + ret = chxj_rencoding(&r, ret, &destlen); + CU_ASSERT(ret != NULL); + CU_ASSERT(strcmp(RESULT_STRING, ret) == 0); + CU_ASSERT(destlen == sizeof(RESULT_STRING)-1); + CU_ASSERT(call_check == 1); + + APR_TERM; +#undef TEST_STRING +#undef RESULT_STRING +} +void test_chtml30_div_tag_with_css_008() +{ +#define TEST_STRING "" \ + "
あいう
" +#define RESULT_STRING "あいう" + char *ret; + char *tmp; + device_table spec; + chxjconvrule_entry entry; + cookie_t cookie; + apr_size_t destlen; + APR_INIT; + chxj_serf_get = test_chxj_serf_get123; + call_check = 0; + + COOKIE_INIT(cookie); + + SPEC_INIT(spec); + destlen = sizeof(TEST_STRING)-1; + entry.action |= CONVRULE_CSS_ON_BIT; + + tmp = chxj_encoding(&r, TEST_STRING, &destlen); + ret = chxj_convert_chtml30(&r, &spec, tmp, destlen, &destlen, &entry, &cookie); + ret = chxj_rencoding(&r, ret, &destlen); + CU_ASSERT(ret != NULL); + CU_ASSERT(strcmp(RESULT_STRING, ret) == 0); + CU_ASSERT(destlen == sizeof(RESULT_STRING)-1); + CU_ASSERT(call_check == 0); + + APR_TERM; +#undef TEST_STRING +#undef RESULT_STRING +} +char *test_chxj_serf_get124(request_rec *r, apr_pool_t *ppool, const char *uri_path, int ss, apr_size_t *len) +{ + static char *css = "a:focus { display: none }\n" + "a:link { display: none }\n" + "a { display: none }\n" + "hr { display: none }\n" + "a:visited { display:none }\n" + "div { text-decoration:blink }\n"; + *len = strlen(css); + call_check = 1; + return css; +} +void test_chtml30_div_tag_with_css_009() +{ +#define TEST_STRING "" \ + "
あいう
" +#define RESULT_STRING "あいう" + char *ret; + char *tmp; + device_table spec; + chxjconvrule_entry entry; + cookie_t cookie; + apr_size_t destlen; + APR_INIT; + chxj_serf_get = test_chxj_serf_get124; + call_check = 0; + + COOKIE_INIT(cookie); + + SPEC_INIT(spec); + destlen = sizeof(TEST_STRING)-1; + entry.action |= CONVRULE_CSS_ON_BIT; + + tmp = chxj_encoding(&r, TEST_STRING, &destlen); + ret = chxj_convert_chtml30(&r, &spec, tmp, destlen, &destlen, &entry, &cookie); + ret = chxj_rencoding(&r, ret, &destlen); + CU_ASSERT(ret != NULL); + CU_ASSERT(strcmp(RESULT_STRING, ret) == 0); + CU_ASSERT(destlen == sizeof(RESULT_STRING)-1); + CU_ASSERT(call_check == 1); + + APR_TERM; +#undef TEST_STRING +#undef RESULT_STRING +} +void test_chtml30_div_tag_with_css_010() +{ +#define TEST_STRING "" \ + "
あいう
" +#define RESULT_STRING "あいう" + char *ret; + char *tmp; + device_table spec; + chxjconvrule_entry entry; + cookie_t cookie; + apr_size_t destlen; + APR_INIT; + chxj_serf_get = test_chxj_serf_get124; + call_check = 0; + + COOKIE_INIT(cookie); + + SPEC_INIT(spec); + destlen = sizeof(TEST_STRING)-1; + entry.action |= CONVRULE_CSS_ON_BIT; + + tmp = chxj_encoding(&r, TEST_STRING, &destlen); + ret = chxj_convert_chtml30(&r, &spec, tmp, destlen, &destlen, &entry, &cookie); + ret = chxj_rencoding(&r, ret, &destlen); + CU_ASSERT(ret != NULL); + CU_ASSERT(strcmp(RESULT_STRING, ret) == 0); + CU_ASSERT(destlen == sizeof(RESULT_STRING)-1); + CU_ASSERT(call_check == 0); + + APR_TERM; +#undef TEST_STRING +#undef RESULT_STRING +} +char *test_chxj_serf_get125(request_rec *r, apr_pool_t *ppool, const char *uri_path, int ss, apr_size_t *len) +{ + static char *css = "a:focus { display: none }\n" + "a:link { display: none }\n" + "a { display: none }\n" + "hr { display: none }\n" + "a:visited { display:none }\n" + "div { display:-wap-marquee }\n"; + *len = strlen(css); + call_check = 1; + return css; +} +void test_chtml30_div_tag_with_css_011() +{ +#define TEST_STRING "" \ + "
あいう
" +#define RESULT_STRING "あいう" + char *ret; + char *tmp; + device_table spec; + chxjconvrule_entry entry; + cookie_t cookie; + apr_size_t destlen; + APR_INIT; + chxj_serf_get = test_chxj_serf_get125; + call_check = 0; + + COOKIE_INIT(cookie); + + SPEC_INIT(spec); + destlen = sizeof(TEST_STRING)-1; + entry.action |= CONVRULE_CSS_ON_BIT; + + tmp = chxj_encoding(&r, TEST_STRING, &destlen); + ret = chxj_convert_chtml30(&r, &spec, tmp, destlen, &destlen, &entry, &cookie); + ret = chxj_rencoding(&r, ret, &destlen); + CU_ASSERT(ret != NULL); + CU_ASSERT(strcmp(RESULT_STRING, ret) == 0); + CU_ASSERT(destlen == sizeof(RESULT_STRING)-1); + CU_ASSERT(call_check == 1); + + APR_TERM; +#undef TEST_STRING +#undef RESULT_STRING +} +void test_chtml30_div_tag_with_css_012() +{ +#define TEST_STRING "" \ + "
あいう
" +#define RESULT_STRING "あいう" + char *ret; + char *tmp; + device_table spec; + chxjconvrule_entry entry; + cookie_t cookie; + apr_size_t destlen; + APR_INIT; + chxj_serf_get = test_chxj_serf_get125; + call_check = 0; + + COOKIE_INIT(cookie); + + SPEC_INIT(spec); + destlen = sizeof(TEST_STRING)-1; + entry.action |= CONVRULE_CSS_ON_BIT; + + tmp = chxj_encoding(&r, TEST_STRING, &destlen); + ret = chxj_convert_chtml30(&r, &spec, tmp, destlen, &destlen, &entry, &cookie); + ret = chxj_rencoding(&r, ret, &destlen); + CU_ASSERT(ret != NULL); + CU_ASSERT(strcmp(RESULT_STRING, ret) == 0); + CU_ASSERT(destlen == sizeof(RESULT_STRING)-1); + CU_ASSERT(call_check == 0); + + APR_TERM; +#undef TEST_STRING +#undef RESULT_STRING +} +char *test_chxj_serf_get126(request_rec *r, apr_pool_t *ppool, const char *uri_path, int ss, apr_size_t *len) +{ + static char *css = "a:focus { display: none }\n" + "a:link { display: none }\n" + "a { display: none }\n" + "hr { display: none }\n" + "a:visited { display:none }\n" + "div { display:-wap-marquee;\n" + " -wap-marquee-style: scroll; }\n"; + + *len = strlen(css); + call_check = 1; + return css; +} +void test_chtml30_div_tag_with_css_013() +{ +#define TEST_STRING "" \ + "
あいう
" +#define RESULT_STRING "あいう" + char *ret; + char *tmp; + device_table spec; + chxjconvrule_entry entry; + cookie_t cookie; + apr_size_t destlen; + APR_INIT; + chxj_serf_get = test_chxj_serf_get126; + call_check = 0; + + COOKIE_INIT(cookie); + + SPEC_INIT(spec); + destlen = sizeof(TEST_STRING)-1; + entry.action |= CONVRULE_CSS_ON_BIT; + + tmp = chxj_encoding(&r, TEST_STRING, &destlen); + ret = chxj_convert_chtml30(&r, &spec, tmp, destlen, &destlen, &entry, &cookie); + ret = chxj_rencoding(&r, ret, &destlen); + CU_ASSERT(ret != NULL); + CU_ASSERT(strcmp(RESULT_STRING, ret) == 0); + CU_ASSERT(destlen == sizeof(RESULT_STRING)-1); + CU_ASSERT(call_check == 1); + + APR_TERM; +#undef TEST_STRING +#undef RESULT_STRING +} +void test_chtml30_div_tag_with_css_014() +{ +#define TEST_STRING "" \ + "
あいう
" +#define RESULT_STRING "あいう" + char *ret; + char *tmp; + device_table spec; + chxjconvrule_entry entry; + cookie_t cookie; + apr_size_t destlen; + APR_INIT; + chxj_serf_get = test_chxj_serf_get126; + call_check = 0; + + COOKIE_INIT(cookie); + + SPEC_INIT(spec); + destlen = sizeof(TEST_STRING)-1; + entry.action |= CONVRULE_CSS_ON_BIT; + + tmp = chxj_encoding(&r, TEST_STRING, &destlen); + ret = chxj_convert_chtml30(&r, &spec, tmp, destlen, &destlen, &entry, &cookie); + ret = chxj_rencoding(&r, ret, &destlen); + CU_ASSERT(ret != NULL); + CU_ASSERT(strcmp(RESULT_STRING, ret) == 0); + CU_ASSERT(destlen == sizeof(RESULT_STRING)-1); + CU_ASSERT(call_check == 0); + + APR_TERM; +#undef TEST_STRING +#undef RESULT_STRING +} +char *test_chxj_serf_get127(request_rec *r, apr_pool_t *ppool, const char *uri_path, int ss, apr_size_t *len) +{ + static char *css = "a:focus { display: none }\n" + "a:link { display: none }\n" + "a { display: none }\n" + "hr { display: none }\n" + "a:visited { display:none }\n" + "div { display:-wap-marquee;\n" + " -wap-marquee-style: slide; }\n"; + + *len = strlen(css); + call_check = 1; + return css; +} +void test_chtml30_div_tag_with_css_015() +{ +#define TEST_STRING "" \ + "
あいう
" +#define RESULT_STRING "あいう" + char *ret; + char *tmp; + device_table spec; + chxjconvrule_entry entry; + cookie_t cookie; + apr_size_t destlen; + APR_INIT; + chxj_serf_get = test_chxj_serf_get127; + call_check = 0; + + COOKIE_INIT(cookie); + + SPEC_INIT(spec); + destlen = sizeof(TEST_STRING)-1; + entry.action |= CONVRULE_CSS_ON_BIT; + + tmp = chxj_encoding(&r, TEST_STRING, &destlen); + ret = chxj_convert_chtml30(&r, &spec, tmp, destlen, &destlen, &entry, &cookie); + ret = chxj_rencoding(&r, ret, &destlen); + CU_ASSERT(ret != NULL); + CU_ASSERT(strcmp(RESULT_STRING, ret) == 0); + CU_ASSERT(destlen == sizeof(RESULT_STRING)-1); + CU_ASSERT(call_check == 1); + + APR_TERM; +#undef TEST_STRING +#undef RESULT_STRING +} +void test_chtml30_div_tag_with_css_016() +{ +#define TEST_STRING "" \ + "
あいう
" +#define RESULT_STRING "あいう" + char *ret; + char *tmp; + device_table spec; + chxjconvrule_entry entry; + cookie_t cookie; + apr_size_t destlen; + APR_INIT; + chxj_serf_get = test_chxj_serf_get127; + call_check = 0; + + COOKIE_INIT(cookie); + + SPEC_INIT(spec); + destlen = sizeof(TEST_STRING)-1; + entry.action |= CONVRULE_CSS_ON_BIT; + + tmp = chxj_encoding(&r, TEST_STRING, &destlen); + ret = chxj_convert_chtml30(&r, &spec, tmp, destlen, &destlen, &entry, &cookie); + ret = chxj_rencoding(&r, ret, &destlen); + CU_ASSERT(ret != NULL); + CU_ASSERT(strcmp(RESULT_STRING, ret) == 0); + CU_ASSERT(destlen == sizeof(RESULT_STRING)-1); + CU_ASSERT(call_check == 0); + + APR_TERM; +#undef TEST_STRING +#undef RESULT_STRING +} +char *test_chxj_serf_get128(request_rec *r, apr_pool_t *ppool, const char *uri_path, int ss, apr_size_t *len) +{ + static char *css = "a:focus { display: none }\n" + "a:link { display: none }\n" + "a { display: none }\n" + "hr { display: none }\n" + "a:visited { display:none }\n" + "div { display:-wap-marquee;\n" + " -wap-marquee-style: alternate }\n"; + + *len = strlen(css); + call_check = 1; + return css; +} +void test_chtml30_div_tag_with_css_017() +{ +#define TEST_STRING "" \ + "
あいう
" +#define RESULT_STRING "あいう" + char *ret; + char *tmp; + device_table spec; + chxjconvrule_entry entry; + cookie_t cookie; + apr_size_t destlen; + APR_INIT; + chxj_serf_get = test_chxj_serf_get128; + call_check = 0; + + COOKIE_INIT(cookie); + + SPEC_INIT(spec); + destlen = sizeof(TEST_STRING)-1; + entry.action |= CONVRULE_CSS_ON_BIT; + + tmp = chxj_encoding(&r, TEST_STRING, &destlen); + ret = chxj_convert_chtml30(&r, &spec, tmp, destlen, &destlen, &entry, &cookie); + ret = chxj_rencoding(&r, ret, &destlen); + CU_ASSERT(ret != NULL); + CU_ASSERT(strcmp(RESULT_STRING, ret) == 0); + CU_ASSERT(destlen == sizeof(RESULT_STRING)-1); + CU_ASSERT(call_check == 1); + + APR_TERM; +#undef TEST_STRING +#undef RESULT_STRING +} +void test_chtml30_div_tag_with_css_018() +{ +#define TEST_STRING "" \ + "
あいう
" +#define RESULT_STRING "あいう" + char *ret; + char *tmp; + device_table spec; + chxjconvrule_entry entry; + cookie_t cookie; + apr_size_t destlen; + APR_INIT; + chxj_serf_get = test_chxj_serf_get128; + call_check = 0; + + COOKIE_INIT(cookie); + + SPEC_INIT(spec); + destlen = sizeof(TEST_STRING)-1; + entry.action |= CONVRULE_CSS_ON_BIT; + + tmp = chxj_encoding(&r, TEST_STRING, &destlen); + ret = chxj_convert_chtml30(&r, &spec, tmp, destlen, &destlen, &entry, &cookie); + ret = chxj_rencoding(&r, ret, &destlen); + CU_ASSERT(ret != NULL); + CU_ASSERT(strcmp(RESULT_STRING, ret) == 0); + CU_ASSERT(destlen == sizeof(RESULT_STRING)-1); + CU_ASSERT(call_check == 0); + + APR_TERM; +#undef TEST_STRING +#undef RESULT_STRING +} +char *test_chxj_serf_get129(request_rec *r, apr_pool_t *ppool, const char *uri_path, int ss, apr_size_t *len) +{ + static char *css = "a:focus { display: none }\n" + "a:link { display: none }\n" + "a { display: none }\n" + "hr { display: none }\n" + "a:visited { display:none }\n" + "div { display:-wap-marquee;\n" + " -wap-marquee-style: alternate;-wap-marquee-dir:ltr }\n"; + + *len = strlen(css); + call_check = 1; + return css; +} +void test_chtml30_div_tag_with_css_019() +{ +#define TEST_STRING "" \ + "
あいう
" +#define RESULT_STRING "あいう" + char *ret; + char *tmp; + device_table spec; + chxjconvrule_entry entry; + cookie_t cookie; + apr_size_t destlen; + APR_INIT; + chxj_serf_get = test_chxj_serf_get129; + call_check = 0; + + COOKIE_INIT(cookie); + + SPEC_INIT(spec); + destlen = sizeof(TEST_STRING)-1; + entry.action |= CONVRULE_CSS_ON_BIT; + + tmp = chxj_encoding(&r, TEST_STRING, &destlen); + ret = chxj_convert_chtml30(&r, &spec, tmp, destlen, &destlen, &entry, &cookie); + ret = chxj_rencoding(&r, ret, &destlen); + CU_ASSERT(ret != NULL); + CU_ASSERT(strcmp(RESULT_STRING, ret) == 0); + CU_ASSERT(destlen == sizeof(RESULT_STRING)-1); + CU_ASSERT(call_check == 1); + + APR_TERM; +#undef TEST_STRING +#undef RESULT_STRING +} +void test_chtml30_div_tag_with_css_020() +{ +#define TEST_STRING "" \ + "
あいう
" +#define RESULT_STRING "あいう" + char *ret; + char *tmp; + device_table spec; + chxjconvrule_entry entry; + cookie_t cookie; + apr_size_t destlen; + APR_INIT; + chxj_serf_get = test_chxj_serf_get129; + call_check = 0; + + COOKIE_INIT(cookie); + + SPEC_INIT(spec); + destlen = sizeof(TEST_STRING)-1; + entry.action |= CONVRULE_CSS_ON_BIT; + + tmp = chxj_encoding(&r, TEST_STRING, &destlen); + ret = chxj_convert_chtml30(&r, &spec, tmp, destlen, &destlen, &entry, &cookie); + ret = chxj_rencoding(&r, ret, &destlen); + CU_ASSERT(ret != NULL); + CU_ASSERT(strcmp(RESULT_STRING, ret) == 0); + CU_ASSERT(destlen == sizeof(RESULT_STRING)-1); + CU_ASSERT(call_check == 0); + + APR_TERM; +#undef TEST_STRING +#undef RESULT_STRING +} +char *test_chxj_serf_get130(request_rec *r, apr_pool_t *ppool, const char *uri_path, int ss, apr_size_t *len) +{ + static char *css = "a:focus { display: none }\n" + "a:link { display: none }\n" + "a { display: none }\n" + "hr { display: none }\n" + "a:visited { display:none }\n" + "div { display:-wap-marquee;\n" + " -wap-marquee-style: alternate;-wap-marquee-dir:rtl }\n"; + + *len = strlen(css); + call_check = 1; + return css; +} +void test_chtml30_div_tag_with_css_021() +{ +#define TEST_STRING "" \ + "
あいう
" +#define RESULT_STRING "あいう" + char *ret; + char *tmp; + device_table spec; + chxjconvrule_entry entry; + cookie_t cookie; + apr_size_t destlen; + APR_INIT; + chxj_serf_get = test_chxj_serf_get130; + call_check = 0; + + COOKIE_INIT(cookie); + + SPEC_INIT(spec); + destlen = sizeof(TEST_STRING)-1; + entry.action |= CONVRULE_CSS_ON_BIT; + + tmp = chxj_encoding(&r, TEST_STRING, &destlen); + ret = chxj_convert_chtml30(&r, &spec, tmp, destlen, &destlen, &entry, &cookie); + ret = chxj_rencoding(&r, ret, &destlen); + CU_ASSERT(ret != NULL); + CU_ASSERT(strcmp(RESULT_STRING, ret) == 0); + CU_ASSERT(destlen == sizeof(RESULT_STRING)-1); + CU_ASSERT(call_check == 1); + + APR_TERM; +#undef TEST_STRING +#undef RESULT_STRING +} +void test_chtml30_div_tag_with_css_022() +{ +#define TEST_STRING "" \ + "
あいう
" +#define RESULT_STRING "あいう" + char *ret; + char *tmp; + device_table spec; + chxjconvrule_entry entry; + cookie_t cookie; + apr_size_t destlen; + APR_INIT; + chxj_serf_get = test_chxj_serf_get130; + call_check = 0; + + COOKIE_INIT(cookie); + + SPEC_INIT(spec); + destlen = sizeof(TEST_STRING)-1; + entry.action |= CONVRULE_CSS_ON_BIT; + + tmp = chxj_encoding(&r, TEST_STRING, &destlen); + ret = chxj_convert_chtml30(&r, &spec, tmp, destlen, &destlen, &entry, &cookie); + ret = chxj_rencoding(&r, ret, &destlen); + CU_ASSERT(ret != NULL); + CU_ASSERT(strcmp(RESULT_STRING, ret) == 0); + CU_ASSERT(destlen == sizeof(RESULT_STRING)-1); + CU_ASSERT(call_check == 0); + + APR_TERM; +#undef TEST_STRING +#undef RESULT_STRING +} +char *test_chxj_serf_get131(request_rec *r, apr_pool_t *ppool, const char *uri_path, int ss, apr_size_t *len) +{ + static char *css = "a:focus { display: none }\n" + "a:link { display: none }\n" + "a { display: none }\n" + "hr { display: none }\n" + "a:visited { display:none }\n" + "div { display:-wap-marquee;\n" + " -wap-marquee-style: alternate;-wap-marquee-dir:rtl;-wap-marquee-loop:1 }\n"; + + *len = strlen(css); + call_check = 1; + return css; +} +void test_chtml30_div_tag_with_css_023() +{ +#define TEST_STRING "" \ + "
あいう
" +#define RESULT_STRING "あいう" + char *ret; + char *tmp; + device_table spec; + chxjconvrule_entry entry; + cookie_t cookie; + apr_size_t destlen; + APR_INIT; + chxj_serf_get = test_chxj_serf_get131; + call_check = 0; + + COOKIE_INIT(cookie); + + SPEC_INIT(spec); + destlen = sizeof(TEST_STRING)-1; + entry.action |= CONVRULE_CSS_ON_BIT; + + tmp = chxj_encoding(&r, TEST_STRING, &destlen); + ret = chxj_convert_chtml30(&r, &spec, tmp, destlen, &destlen, &entry, &cookie); + ret = chxj_rencoding(&r, ret, &destlen); + CU_ASSERT(ret != NULL); + CU_ASSERT(strcmp(RESULT_STRING, ret) == 0); + CU_ASSERT(destlen == sizeof(RESULT_STRING)-1); + CU_ASSERT(call_check == 1); + + APR_TERM; +#undef TEST_STRING +#undef RESULT_STRING +} +void test_chtml30_div_tag_with_css_024() +{ +#define TEST_STRING "" \ + "
あいう
" +#define RESULT_STRING "あいう" + char *ret; + char *tmp; + device_table spec; + chxjconvrule_entry entry; + cookie_t cookie; + apr_size_t destlen; + APR_INIT; + chxj_serf_get = test_chxj_serf_get131; + call_check = 0; + + COOKIE_INIT(cookie); + + SPEC_INIT(spec); + destlen = sizeof(TEST_STRING)-1; + entry.action |= CONVRULE_CSS_ON_BIT; + + tmp = chxj_encoding(&r, TEST_STRING, &destlen); + ret = chxj_convert_chtml30(&r, &spec, tmp, destlen, &destlen, &entry, &cookie); + ret = chxj_rencoding(&r, ret, &destlen); + CU_ASSERT(ret != NULL); + CU_ASSERT(strcmp(RESULT_STRING, ret) == 0); + CU_ASSERT(destlen == sizeof(RESULT_STRING)-1); + CU_ASSERT(call_check == 0); + + APR_TERM; +#undef TEST_STRING +#undef RESULT_STRING +} +char *test_chxj_serf_get132(request_rec *r, apr_pool_t *ppool, const char *uri_path, int ss, apr_size_t *len) +{ + static char *css = "a:focus { display: none }\n" + "a:link { display: none }\n" + "a { display: none }\n" + "hr { display: none }\n" + "a:visited { display:none }\n" + "div { display:-wap-marquee;\n" + " -wap-marquee-style: alternate;-wap-marquee-dir:rtl;-wap-marquee-loop:16 }\n"; + + *len = strlen(css); + call_check = 1; + return css; +} +void test_chtml30_div_tag_with_css_025() +{ +#define TEST_STRING "" \ + "
あいう
" +#define RESULT_STRING "あいう" + char *ret; + char *tmp; + device_table spec; + chxjconvrule_entry entry; + cookie_t cookie; + apr_size_t destlen; + APR_INIT; + chxj_serf_get = test_chxj_serf_get132; + call_check = 0; + + COOKIE_INIT(cookie); + + SPEC_INIT(spec); + destlen = sizeof(TEST_STRING)-1; + entry.action |= CONVRULE_CSS_ON_BIT; + + tmp = chxj_encoding(&r, TEST_STRING, &destlen); + ret = chxj_convert_chtml30(&r, &spec, tmp, destlen, &destlen, &entry, &cookie); + ret = chxj_rencoding(&r, ret, &destlen); + CU_ASSERT(ret != NULL); + CU_ASSERT(strcmp(RESULT_STRING, ret) == 0); + CU_ASSERT(destlen == sizeof(RESULT_STRING)-1); + CU_ASSERT(call_check == 1); + + APR_TERM; +#undef TEST_STRING +#undef RESULT_STRING +} +void test_chtml30_div_tag_with_css_026() +{ +#define TEST_STRING "" \ + "
あいう
" +#define RESULT_STRING "あいう" + char *ret; + char *tmp; + device_table spec; + chxjconvrule_entry entry; + cookie_t cookie; + apr_size_t destlen; + APR_INIT; + chxj_serf_get = test_chxj_serf_get132; + call_check = 0; + + COOKIE_INIT(cookie); + + SPEC_INIT(spec); + destlen = sizeof(TEST_STRING)-1; + entry.action |= CONVRULE_CSS_ON_BIT; + + tmp = chxj_encoding(&r, TEST_STRING, &destlen); + ret = chxj_convert_chtml30(&r, &spec, tmp, destlen, &destlen, &entry, &cookie); + ret = chxj_rencoding(&r, ret, &destlen); + CU_ASSERT(ret != NULL); + CU_ASSERT(strcmp(RESULT_STRING, ret) == 0); + CU_ASSERT(destlen == sizeof(RESULT_STRING)-1); + CU_ASSERT(call_check == 0); + + APR_TERM; +#undef TEST_STRING +#undef RESULT_STRING +} +char *test_chxj_serf_get133(request_rec *r, apr_pool_t *ppool, const char *uri_path, int ss, apr_size_t *len) +{ + static char *css = "a:focus { display: none }\n" + "a:link { display: none }\n" + "a { display: none }\n" + "hr { display: none }\n" + "a:visited { display:none }\n" + "div { display:-wap-marquee;\n" + " -wap-marquee-style: alternate;-wap-marquee-dir:rtl;-wap-marquee-loop:infinite }\n"; + + *len = strlen(css); + call_check = 1; + return css; +} +void test_chtml30_div_tag_with_css_027() +{ +#define TEST_STRING "" \ + "
あいう
" +#define RESULT_STRING "あいう" + char *ret; + char *tmp; + device_table spec; + chxjconvrule_entry entry; + cookie_t cookie; + apr_size_t destlen; + APR_INIT; + chxj_serf_get = test_chxj_serf_get133; + call_check = 0; + + COOKIE_INIT(cookie); + + SPEC_INIT(spec); + destlen = sizeof(TEST_STRING)-1; + entry.action |= CONVRULE_CSS_ON_BIT; + + tmp = chxj_encoding(&r, TEST_STRING, &destlen); + ret = chxj_convert_chtml30(&r, &spec, tmp, destlen, &destlen, &entry, &cookie); + ret = chxj_rencoding(&r, ret, &destlen); + CU_ASSERT(ret != NULL); + CU_ASSERT(strcmp(RESULT_STRING, ret) == 0); + CU_ASSERT(destlen == sizeof(RESULT_STRING)-1); + CU_ASSERT(call_check == 1); + + APR_TERM; +#undef TEST_STRING +#undef RESULT_STRING +} +void test_chtml30_div_tag_with_css_028() +{ +#define TEST_STRING "" \ + "
あいう
" +#define RESULT_STRING "あいう" + char *ret; + char *tmp; + device_table spec; + chxjconvrule_entry entry; + cookie_t cookie; + apr_size_t destlen; + APR_INIT; + chxj_serf_get = test_chxj_serf_get133; + call_check = 0; + + COOKIE_INIT(cookie); + + SPEC_INIT(spec); + destlen = sizeof(TEST_STRING)-1; + entry.action |= CONVRULE_CSS_ON_BIT; + + tmp = chxj_encoding(&r, TEST_STRING, &destlen); + ret = chxj_convert_chtml30(&r, &spec, tmp, destlen, &destlen, &entry, &cookie); + ret = chxj_rencoding(&r, ret, &destlen); + CU_ASSERT(ret != NULL); + CU_ASSERT(strcmp(RESULT_STRING, ret) == 0); + CU_ASSERT(destlen == sizeof(RESULT_STRING)-1); + CU_ASSERT(call_check == 0); + + APR_TERM; +#undef TEST_STRING +#undef RESULT_STRING +} /* * vim:ts=2 et */