From f36b35d20811b91b3594c4223d0ab09b8b16c669 Mon Sep 17 00:00:00 2001 From: konn Date: Wed, 16 Jul 2008 18:59:11 +0000 Subject: [PATCH] * Added center tag with CSS for au XHTML converter. git-svn-id: svn+ssh://svn.sourceforge.jp/svnroot/modchxj/mod_chxj/branches/sandbox@2981 1a406e8e-add9-4483-a2c8-d8cac5b7c224 --- src/chxj_jxhtml.c | 5 - src/chxj_xhtml_mobile_1_0.c | 65 +- .../test_chxj_xhtml_mobile_1_0.c | 742 +++++++++++++++++++++ 3 files changed, 802 insertions(+), 10 deletions(-) diff --git a/src/chxj_jxhtml.c b/src/chxj_jxhtml.c index d89938b0..9f281a7b 100644 --- a/src/chxj_jxhtml.c +++ b/src/chxj_jxhtml.c @@ -2045,11 +2045,6 @@ s_jxhtml_start_center_tag(void *pdoc, Node *node) } W_L(">"); -#if 0 - jxhtml_t *jxhtml = GET_JXHTML(pdoc); - Doc *doc = jxhtml->doc; - W_L("
"); -#endif return jxhtml->out; } diff --git a/src/chxj_xhtml_mobile_1_0.c b/src/chxj_xhtml_mobile_1_0.c index a025c85f..9c4f1c6d 100644 --- a/src/chxj_xhtml_mobile_1_0.c +++ b/src/chxj_xhtml_mobile_1_0.c @@ -1918,12 +1918,64 @@ s_xhtml_1_0_end_input_tag(void *pdoc, Node *UNUSED(child)) * @return The conversion result is returned. */ static char * -s_xhtml_1_0_start_center_tag(void *pdoc, Node *UNUSED(node)) +s_xhtml_1_0_start_center_tag(void *pdoc, Node *node) { - xhtml_t *xhtml = GET_XHTML(pdoc); - Doc *doc = xhtml->doc; + xhtml_t *xhtml; + Doc *doc; + Attr *attr; + char *attr_style = NULL; + char *attr_color = NULL; + char *attr_size = NULL; + + xhtml = GET_XHTML(pdoc); + doc = xhtml->doc; + + for (attr = qs_get_attr(doc,node); + attr; + attr = qs_get_next_attr(doc,attr)) { + char *name = qs_get_attr_name(doc,attr); + char *value = qs_get_attr_value(doc,attr); + if (STRCASEEQ('s','S',"style",name) && value && *value) { + attr_style = value; + } + } + if (IS_CSS_ON(xhtml->entryp)) { + css_prop_list_t *style = s_xhtml_1_0_push_and_get_now_style(pdoc, node, attr_style); + if (style) { + css_property_t *color_prop = chxj_css_get_property_value(doc, style, "color"); + css_property_t *size_prop = chxj_css_get_property_value(doc, style, "font-size"); + css_property_t *cur; + for (cur = color_prop->next; cur != color_prop; cur = cur->next) { + if (cur->value && *cur->value) { + attr_color = apr_pstrdup(doc->pool, cur->value); + } + } + for (cur = size_prop->next; cur != size_prop; cur = cur->next) { + if (cur->value && *cur->value) { + attr_size = apr_pstrdup(doc->pool, cur->value); + } + } + } + } - W_L("
"); + W_L("pool, attr_color); + W_L("color:"); + W_V(attr_color); + W_L(";"); + } + W_L("\""); + } + W_L(">"); + return xhtml->out; } @@ -1937,12 +1989,15 @@ s_xhtml_1_0_start_center_tag(void *pdoc, Node *UNUSED(node)) * @return The conversion result is returned. */ static char * -s_xhtml_1_0_end_center_tag(void *pdoc, Node *UNUSED(child)) +s_xhtml_1_0_end_center_tag(void *pdoc, Node *UNUSED(node)) { xhtml_t *xhtml = GET_XHTML(pdoc); Doc *doc = xhtml->doc; W_L("
"); + if (IS_CSS_ON(xhtml->entryp)) { + chxj_css_pop_prop_list(xhtml->css_prop_stack); + } return xhtml->out; } diff --git a/test/chxj_xhtml_mobile_1_0/test_chxj_xhtml_mobile_1_0.c b/test/chxj_xhtml_mobile_1_0/test_chxj_xhtml_mobile_1_0.c index e2bade2f..563ab377 100644 --- a/test/chxj_xhtml_mobile_1_0/test_chxj_xhtml_mobile_1_0.c +++ b/test/chxj_xhtml_mobile_1_0/test_chxj_xhtml_mobile_1_0.c @@ -663,6 +663,23 @@ void test_xhtml_input_tag_with_css_005(); void test_xhtml_input_tag_with_css_006(); void test_xhtml_input_tag_with_css_007(); void test_xhtml_input_tag_with_css_008(); + +void test_xhtml_center_tag_with_css_001(); +void test_xhtml_center_tag_with_css_002(); +void test_xhtml_center_tag_with_css_003(); +void test_xhtml_center_tag_with_css_004(); +void test_xhtml_center_tag_with_css_005(); +void test_xhtml_center_tag_with_css_006(); +void test_xhtml_center_tag_with_css_007(); +void test_xhtml_center_tag_with_css_008(); +void test_xhtml_center_tag_with_css_009(); +void test_xhtml_center_tag_with_css_010(); +void test_xhtml_center_tag_with_css_011(); +void test_xhtml_center_tag_with_css_012(); +void test_xhtml_center_tag_with_css_013(); +void test_xhtml_center_tag_with_css_014(); +void test_xhtml_center_tag_with_css_015(); +void test_xhtml_center_tag_with_css_016(); /* pend */ int @@ -1362,6 +1379,23 @@ main() CU_add_test(xhtml_suite, "test input with css 006", test_xhtml_input_tag_with_css_006); CU_add_test(xhtml_suite, "test input with css 007", test_xhtml_input_tag_with_css_007); CU_add_test(xhtml_suite, "test input with css 008", test_xhtml_input_tag_with_css_008); + + CU_add_test(xhtml_suite, "test center with css 001", test_xhtml_center_tag_with_css_001); + CU_add_test(xhtml_suite, "test center with css 002", test_xhtml_center_tag_with_css_002); + CU_add_test(xhtml_suite, "test center with css 003", test_xhtml_center_tag_with_css_003); + CU_add_test(xhtml_suite, "test center with css 004", test_xhtml_center_tag_with_css_004); + CU_add_test(xhtml_suite, "test center with css 005", test_xhtml_center_tag_with_css_005); + CU_add_test(xhtml_suite, "test center with css 006", test_xhtml_center_tag_with_css_006); + CU_add_test(xhtml_suite, "test center with css 007", test_xhtml_center_tag_with_css_007); + CU_add_test(xhtml_suite, "test center with css 008", test_xhtml_center_tag_with_css_008); + CU_add_test(xhtml_suite, "test center with css 009", test_xhtml_center_tag_with_css_009); + CU_add_test(xhtml_suite, "test center with css 010", test_xhtml_center_tag_with_css_010); + CU_add_test(xhtml_suite, "test center with css 011", test_xhtml_center_tag_with_css_011); + CU_add_test(xhtml_suite, "test center with css 012", test_xhtml_center_tag_with_css_012); + CU_add_test(xhtml_suite, "test center with css 013", test_xhtml_center_tag_with_css_013); + CU_add_test(xhtml_suite, "test center with css 014", test_xhtml_center_tag_with_css_014); + CU_add_test(xhtml_suite, "test center with css 015", test_xhtml_center_tag_with_css_015); + CU_add_test(xhtml_suite, "test center with css 016", test_xhtml_center_tag_with_css_016); /* aend */ CU_basic_run_tests(); @@ -19589,6 +19623,714 @@ void test_xhtml_input_tag_with_css_008() #undef TEST_STRING #undef RESULT_STRING } + + + +/*===========================================================================*/ +/* center tag with CSS */ +/*===========================================================================*/ +char *test_chxj_serf_get090(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" + "center { color:rgb(100%,0%,100%)}\n"; + *len = strlen(css); + call_check = 1; + return css; +} +void test_xhtml_center_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_get090; + 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_xhtml_mobile_1_0(&r, &spec, tmp, destlen, &destlen, &entry, &cookie); + ret = chxj_rencoding(&r, ret, &destlen); + fprintf(stderr, "actual:[%s]\n", ret); + fprintf(stderr, "expect:[%s]\n", RESULT_STRING); + 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_xhtml_center_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_get090; + 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_xhtml_mobile_1_0(&r, &spec, tmp, destlen, &destlen, &entry, &cookie); + ret = chxj_rencoding(&r, ret, &destlen); + fprintf(stderr, "actual:[%s]\n", ret); + fprintf(stderr, "expect:[%s]\n", RESULT_STRING); + 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_get091(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" + "center { font-size:xx-small}\n"; + *len = strlen(css); + call_check = 1; + return css; +} +void test_xhtml_center_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_get091; + 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_xhtml_mobile_1_0(&r, &spec, tmp, destlen, &destlen, &entry, &cookie); + ret = chxj_rencoding(&r, ret, &destlen); + fprintf(stderr, "actual:[%s]\n", ret); + fprintf(stderr, "expect:[%s]\n", RESULT_STRING); + 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_xhtml_center_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_get091; + 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_xhtml_mobile_1_0(&r, &spec, tmp, destlen, &destlen, &entry, &cookie); + ret = chxj_rencoding(&r, ret, &destlen); + fprintf(stderr, "actual:[%s]\n", ret); + fprintf(stderr, "expect:[%s]\n", RESULT_STRING); + 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_get092(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" + "center { font-size:x-small}\n"; + *len = strlen(css); + call_check = 1; + return css; +} +void test_xhtml_center_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_get092; + 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_xhtml_mobile_1_0(&r, &spec, tmp, destlen, &destlen, &entry, &cookie); + ret = chxj_rencoding(&r, ret, &destlen); + fprintf(stderr, "actual:[%s]\n", ret); + fprintf(stderr, "expect:[%s]\n", RESULT_STRING); + 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_xhtml_center_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_get092; + 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_xhtml_mobile_1_0(&r, &spec, tmp, destlen, &destlen, &entry, &cookie); + ret = chxj_rencoding(&r, ret, &destlen); + fprintf(stderr, "actual:[%s]\n", ret); + fprintf(stderr, "expect:[%s]\n", RESULT_STRING); + 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_get093(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" + "center { font-size:small}\n"; + *len = strlen(css); + call_check = 1; + return css; +} +void test_xhtml_center_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_get093; + 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_xhtml_mobile_1_0(&r, &spec, tmp, destlen, &destlen, &entry, &cookie); + ret = chxj_rencoding(&r, ret, &destlen); + fprintf(stderr, "actual:[%s]\n", ret); + fprintf(stderr, "expect:[%s]\n", RESULT_STRING); + 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_xhtml_center_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_get093; + 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_xhtml_mobile_1_0(&r, &spec, tmp, destlen, &destlen, &entry, &cookie); + ret = chxj_rencoding(&r, ret, &destlen); + fprintf(stderr, "actual:[%s]\n", ret); + fprintf(stderr, "expect:[%s]\n", RESULT_STRING); + 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_get094(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" + "center { font-size:medium}\n"; + *len = strlen(css); + call_check = 1; + return css; +} +void test_xhtml_center_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_get094; + 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_xhtml_mobile_1_0(&r, &spec, tmp, destlen, &destlen, &entry, &cookie); + ret = chxj_rencoding(&r, ret, &destlen); + fprintf(stderr, "actual:[%s]\n", ret); + fprintf(stderr, "expect:[%s]\n", RESULT_STRING); + 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_xhtml_center_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_get094; + 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_xhtml_mobile_1_0(&r, &spec, tmp, destlen, &destlen, &entry, &cookie); + ret = chxj_rencoding(&r, ret, &destlen); + fprintf(stderr, "actual:[%s]\n", ret); + fprintf(stderr, "expect:[%s]\n", RESULT_STRING); + 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_get095(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" + "center { font-size:large}\n"; + *len = strlen(css); + call_check = 1; + return css; +} +void test_xhtml_center_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_get095; + 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_xhtml_mobile_1_0(&r, &spec, tmp, destlen, &destlen, &entry, &cookie); + ret = chxj_rencoding(&r, ret, &destlen); + fprintf(stderr, "actual:[%s]\n", ret); + fprintf(stderr, "expect:[%s]\n", RESULT_STRING); + 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_xhtml_center_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_get095; + 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_xhtml_mobile_1_0(&r, &spec, tmp, destlen, &destlen, &entry, &cookie); + ret = chxj_rencoding(&r, ret, &destlen); + fprintf(stderr, "actual:[%s]\n", ret); + fprintf(stderr, "expect:[%s]\n", RESULT_STRING); + 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_get096(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" + "center { font-size:x-large}\n"; + *len = strlen(css); + call_check = 1; + return css; +} +void test_xhtml_center_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_get096; + 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_xhtml_mobile_1_0(&r, &spec, tmp, destlen, &destlen, &entry, &cookie); + ret = chxj_rencoding(&r, ret, &destlen); + fprintf(stderr, "actual:[%s]\n", ret); + fprintf(stderr, "expect:[%s]\n", RESULT_STRING); + 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_xhtml_center_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_get096; + 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_xhtml_mobile_1_0(&r, &spec, tmp, destlen, &destlen, &entry, &cookie); + ret = chxj_rencoding(&r, ret, &destlen); + fprintf(stderr, "actual:[%s]\n", ret); + fprintf(stderr, "expect:[%s]\n", RESULT_STRING); + 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_get097(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" + "center { font-size:xx-large}\n"; + *len = strlen(css); + call_check = 1; + return css; +} +void test_xhtml_center_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_get097; + 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_xhtml_mobile_1_0(&r, &spec, tmp, destlen, &destlen, &entry, &cookie); + ret = chxj_rencoding(&r, ret, &destlen); + fprintf(stderr, "actual:[%s]\n", ret); + fprintf(stderr, "expect:[%s]\n", RESULT_STRING); + 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_xhtml_center_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_get097; + 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_xhtml_mobile_1_0(&r, &spec, tmp, destlen, &destlen, &entry, &cookie); + ret = chxj_rencoding(&r, ret, &destlen); + fprintf(stderr, "actual:[%s]\n", ret); + fprintf(stderr, "expect:[%s]\n", RESULT_STRING); + 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 */ -- 2.11.0