diff options
Diffstat (limited to 'tests')
-rwxr-xr-x | tests/blogc/check_blogc.sh.in | 41 | ||||
-rw-r--r-- | tests/blogc/check_renderer.c | 30 | ||||
-rw-r--r-- | tests/blogc/check_template_parser.c | 20 |
3 files changed, 77 insertions, 14 deletions
diff --git a/tests/blogc/check_blogc.sh.in b/tests/blogc/check_blogc.sh.in index 87b71fa..208524d 100755 --- a/tests/blogc/check_blogc.sh.in +++ b/tests/blogc/check_blogc.sh.in @@ -183,7 +183,7 @@ cat > "${TEMP}/main.tmpl" <<EOF <div class="meta">{{ DATE_FORMATTED }}</div> <a href="{{ BASE_URL }}/post/{{ FILENAME }}/"><div>{{ TITLE }}</div></a> </li> - {% endblock %} + {% endblock %}{% block listing_empty %}vazio{% endblock %} {% block listing_once %} </ul> </div> @@ -576,6 +576,45 @@ ${TESTS_ENVIRONMENT} @abs_top_builddir@/blogc \ diff -uN "${TEMP}/output14.html" "${TEMP}/expected-output5.html" + +cat > "${TEMP}/expected-output6.html" <<EOF +<!DOCTYPE html> +<html lang="en"> + <head> + <title>Chunda's website</title> + </head> + <body> + <a href="/"><div class="name">Chunda's website</div></a> + + <section class="main"> + <div class="container"> + <div class="content"> + <div class="page-heading">Blog</div> + <ul> + + vazio + + </ul> + </div> + </div> + </section> + + + </body> +</html> +EOF + +${TESTS_ENVIRONMENT} @abs_top_builddir@/blogc \ + -D BASE_DOMAIN=http://bola.com/ \ + -D BASE_URL= \ + -D SITE_TITLE="Chunda's website" \ + -D DATE_FORMAT="%b %d, %Y, %I:%M %p GMT" \ + -t "${TEMP}/main.tmpl" \ + -o "${TEMP}/output15.html" \ + -l + +diff -uN "${TEMP}/output15.html" "${TEMP}/expected-output6.html" + echo "{% block listig %}foo{% endblock %}\n" > "${TEMP}/error.tmpl" ${TESTS_ENVIRONMENT} @abs_top_builddir@/blogc \ diff --git a/tests/blogc/check_renderer.c b/tests/blogc/check_renderer.c index c1a9f9d..81e4a67 100644 --- a/tests/blogc/check_renderer.c +++ b/tests/blogc/check_renderer.c @@ -75,7 +75,8 @@ test_render_entry(void **state) "{% if GUDA > \"zxd\" %}LOL3{% else %}ELSE{% endif %}\n" "{% if GUDA <= \"zxc\" %}LOL4{% endif %}\n" "{% foreach TAGS %}lol {{ FOREACH_ITEM }} haha {% endforeach %}\n" - "{% foreach TAGS_ASD %}yay{% endforeach %}\n"; + "{% foreach TAGS_ASD %}yay{% endforeach %}\n" + "{% block listing_empty %}vazio{% endblock %}\n"; bc_error_t *err = NULL; bc_slist_t *l = blogc_template_parse(str, strlen(str), &err); assert_non_null(l); @@ -100,6 +101,7 @@ test_render_entry(void **state) "ELSE\n" "LOL4\n" "lol foo haha lol bar haha lol baz haha \n" + "\n" "\n"); blogc_template_free_ast(l); bc_slist_free_full(s, (bc_free_func_t) bc_trie_free); @@ -122,7 +124,8 @@ test_render_listing(void **state) "bola: {% ifdef BOLA %}{{ BOLA }}{% endif %}\n" "{% foreach TAGS %}lol {{ FOREACH_ITEM }} haha {% endforeach %}\n" "{% foreach TAGS_ASD %}yay{% endforeach %}\n" - "{% endblock %}\n"; + "{% endblock %}\n" + "{% block listing_empty %}vazio{% endblock %}\n"; bc_error_t *err = NULL; bc_slist_t *l = blogc_template_parse(str, strlen(str), &err); assert_non_null(l); @@ -149,6 +152,7 @@ test_render_listing(void **state) "bola: asd3\n" "\n" "\n" + "\n" "\n"); blogc_template_free_ast(l); bc_slist_free_full(s, (bc_free_func_t) bc_trie_free); @@ -172,7 +176,8 @@ test_render_listing_entry(void **state) "bola: {% ifdef BOLA %}{{ BOLA }}{% endif %}\n" "{% foreach TAGS %}lol {{ FOREACH_ITEM }} haha {% endforeach %}\n" "{% foreach TAGS_ASD %}yay{% endforeach %}\n" - "{% endblock %}\n"; + "{% endblock %}\n" + "{% block listing_empty %}vazio{% endblock %}\n"; bc_error_t *err = NULL; bc_slist_t *l = blogc_template_parse(str, strlen(str), &err); assert_non_null(l); @@ -200,6 +205,7 @@ test_render_listing_entry(void **state) "bola: asd3\n" "\n" "\n" + "\n" "\n"); blogc_template_free_ast(l); bc_slist_free_full(s, (bc_free_func_t) bc_trie_free); @@ -224,7 +230,8 @@ test_render_listing_entry2(void **state) "bola: {% ifdef BOLA %}{{ BOLA }}{% endif %}\n" "{% foreach TAGS %}lol {{ FOREACH_ITEM }} haha {% endforeach %}\n" "{% foreach TAGS_ASD %}yay{% endforeach %}\n" - "{% endblock %}\n"; + "{% endblock %}\n" + "{% block listing_empty %}vazio{% endblock %}\n"; bc_error_t *err = NULL; bc_slist_t *l = blogc_template_parse(str, strlen(str), &err); assert_non_null(l); @@ -259,6 +266,7 @@ test_render_listing_entry2(void **state) "bola: asd3\n" "\n" "\n" + "\n" "\n"); blogc_template_free_ast(l); bc_slist_free_full(s, (bc_free_func_t) bc_trie_free); @@ -283,7 +291,8 @@ test_render_listing_entry3(void **state) "bola: {% ifdef BOLA %}{{ BOLA }}{% endif %}\n" "{% foreach TAGS %}lol {{ FOREACH_ITEM }} haha {% endforeach %}\n" "{% foreach TAGS_ASD %}yay{% endforeach %}\n" - "{% endblock %}\n"; + "{% endblock %}\n" + "{% block listing_empty %}vazio{% endblock %}\n"; bc_error_t *err = NULL; bc_slist_t *l = blogc_template_parse(str, strlen(str), &err); assert_non_null(l); @@ -319,6 +328,7 @@ test_render_listing_entry3(void **state) "bola: asd3\n" "\n" "\n" + "\n" "\n"); blogc_template_free_ast(l); bc_slist_free_full(s, (bc_free_func_t) bc_trie_free); @@ -343,7 +353,8 @@ test_render_listing_entry4(void **state) "bola: {% ifdef BOLA %}{{ BOLA }}{% endif %}\n" "{% foreach TAGS %}lol {{ FOREACH_ITEM }} haha {% endforeach %}\n" "{% foreach TAGS_ASD %}yay{% endforeach %}\n" - "{% endblock %}\n"; + "{% endblock %}\n" + "{% block listing_empty %}vazio{% endblock %}\n"; bc_error_t *err = NULL; bc_slist_t *l = blogc_template_parse(str, strlen(str), &err); assert_non_null(l); @@ -382,6 +393,7 @@ test_render_listing_entry4(void **state) "bola: asd3\n" "\n" "\n" + "\n" "\n"); blogc_template_free_ast(l); bc_slist_free_full(s, (bc_free_func_t) bc_trie_free); @@ -403,7 +415,8 @@ test_render_listing_empty(void **state) "{% ifdef DATE_FORMATTED %}{{ DATE_FORMATTED }}{% endif %}\n" "bola: {% ifdef BOLA %}{{ BOLA }}{% endif %}\n" "{% foreach TAGS %}lol {{ FOREACH_ITEM }} haha {% endforeach %}\n" - "{% endblock %}\n"; + "{% endblock %}\n" + "{% block listing_empty %}vazio{% endblock %}\n"; bc_error_t *err = NULL; bc_slist_t *l = blogc_template_parse(str, strlen(str), &err); assert_non_null(l); @@ -413,7 +426,8 @@ test_render_listing_empty(void **state) "foo\n" "fuuu\n" "\n" - "\n"); + "\n" + "vazio\n"); blogc_template_free_ast(l); free(out); } diff --git a/tests/blogc/check_template_parser.c b/tests/blogc/check_template_parser.c index 15ef7c4..79d41fb 100644 --- a/tests/blogc/check_template_parser.c +++ b/tests/blogc/check_template_parser.c @@ -59,7 +59,8 @@ test_template_parse(void **state) "{% block listing_once %}asd{% endblock %}\n" "{%- foreach BOLA %}hahaha{% endforeach %}\n" "{% if BOLA == \"1\\\"0\" %}aee{% else %}fffuuuuuuu{% endif %}\n" - "{% block listing_entry %}lol{% endblock %}"; + "{% block listing_entry %}lol{% endblock %}\n" + "{% block listing_empty %}empty{% endblock %}"; bc_error_t *err = NULL; bc_slist_t *ast = blogc_template_parse(a, strlen(a), &err); assert_null(err); @@ -125,8 +126,17 @@ test_template_parse(void **state) blogc_assert_template_node(tmp, "\n", BLOGC_TEMPLATE_NODE_CONTENT); blogc_assert_template_node(tmp->next, "listing_entry", BLOGC_TEMPLATE_NODE_BLOCK); blogc_assert_template_node(tmp->next->next, "lol", BLOGC_TEMPLATE_NODE_CONTENT); - blogc_assert_template_node(tmp->next->next->next, NULL, BLOGC_TEMPLATE_NODE_ENDBLOCK); - assert_null(tmp->next->next->next->next); + blogc_assert_template_node(tmp->next->next->next, NULL, + BLOGC_TEMPLATE_NODE_ENDBLOCK); + blogc_assert_template_node(tmp->next->next->next->next, "\n", + BLOGC_TEMPLATE_NODE_CONTENT); + blogc_assert_template_node(tmp->next->next->next->next->next, "listing_empty", + BLOGC_TEMPLATE_NODE_BLOCK); + blogc_assert_template_node(tmp->next->next->next->next->next->next, "empty", + BLOGC_TEMPLATE_NODE_CONTENT); + blogc_assert_template_node(tmp->next->next->next->next->next->next->next, NULL, + BLOGC_TEMPLATE_NODE_ENDBLOCK); + assert_null(tmp->next->next->next->next->next->next->next->next); blogc_template_free_ast(ast); } @@ -841,8 +851,8 @@ test_template_parse_invalid_block_type(void **state) assert_null(ast); assert_int_equal(err->type, BLOGC_ERROR_TEMPLATE_PARSER); assert_string_equal(err->msg, - "Invalid block type. Allowed types are: 'entry', 'listing', 'listing_once' " - "and 'listing_entry'.\n" + "Invalid block type. Allowed types are: 'entry', 'listing', 'listing_once', " + "'listing_empty' and 'listing_entry'.\n" "Error occurred near line 1, position 16: {% block chunda %}"); bc_error_free(err); } |