From 954d0f9dc63ada44926972a40f2a190ab4561b98 Mon Sep 17 00:00:00 2001 From: "Rafael G. Martins" Date: Tue, 20 Mar 2018 23:07:26 +0100 Subject: make: fixed pagination, added tests --- src/blogc-make/rules.c | 4 +- tests/blogc-make/check_blogc_make.sh.in | 377 ++++++++++++++++++++++++++++++++ 2 files changed, 379 insertions(+), 2 deletions(-) diff --git a/src/blogc-make/rules.c b/src/blogc-make/rules.c index e22fbea..8464bd2 100644 --- a/src/blogc-make/rules.c +++ b/src/blogc-make/rules.c @@ -42,12 +42,12 @@ posts_pagination(bm_ctx_t *ctx, bc_trie_t *variables, const char *variable) return; // something is wrong, let's not add any variable long posts_per_page = strtol( - bc_trie_lookup(ctx->settings->settings, "posts_per_page"), + bc_trie_lookup(ctx->settings->settings, variable), NULL, 10); // FIXME: improve if (posts_per_page >= 0) { bc_trie_insert(variables, "FILTER_PAGE", bc_strdup("1")); bc_trie_insert(variables, "FILTER_PER_PAGE", - bc_strdup(bc_trie_lookup(ctx->settings->settings, "posts_per_page"))); + bc_strdup(bc_trie_lookup(ctx->settings->settings, variable))); } } diff --git a/tests/blogc-make/check_blogc_make.sh.in b/tests/blogc-make/check_blogc_make.sh.in index d27c3c0..001241a 100755 --- a/tests/blogc-make/check_blogc_make.sh.in +++ b/tests/blogc-make/check_blogc_make.sh.in @@ -49,6 +49,15 @@ DATE: 2016-09-01 This is bar. EOF +for i in $(seq -f "%02g" 1 11); do + cat > "${TEMP}/proj/content/post/post${i}.txt" < "${TEMP}/proj/templates/main.tmpl" < "${TEMP}/proj/blogcfile" <&1 | tee "${TEMP}/output.txt" +grep "_build/index\\.html" "${TEMP}/output.txt" +grep "_build/atom\\.xml" "${TEMP}/output.txt" +grep "_build/post/post01/index\\.html" "${TEMP}/output.txt" +grep "_build/post/post02/index\\.html" "${TEMP}/output.txt" +grep "_build/post/post03/index\\.html" "${TEMP}/output.txt" +grep "_build/post/post04/index\\.html" "${TEMP}/output.txt" +grep "_build/post/post05/index\\.html" "${TEMP}/output.txt" +grep "_build/post/post06/index\\.html" "${TEMP}/output.txt" +grep "_build/post/post07/index\\.html" "${TEMP}/output.txt" +grep "_build/post/post08/index\\.html" "${TEMP}/output.txt" +grep "_build/post/post09/index\\.html" "${TEMP}/output.txt" +grep "_build/post/post10/index\\.html" "${TEMP}/output.txt" +grep "_build/post/post11/index\\.html" "${TEMP}/output.txt" + +rm "${TEMP}/output.txt" + +cat > "${TEMP}/expected-index.html" < "${TEMP}/expected-atom.xml" < + + Lol's Website + /atom.xml + 2016-09-11T00:00:00Z + + + + Lol + author@example.com + + WAT?! + + + Post 11 + /post/post11/ + 2016-09-11T00:00:00Z + 2016-09-11T00:00:00Z + + + Lol + author@example.com + + This is Post 11.

+]]>
+
+ + + Post 10 + /post/post10/ + 2016-09-10T00:00:00Z + 2016-09-10T00:00:00Z + + + Lol + author@example.com + + This is Post 10.

+]]>
+
+ + + Post 09 + /post/post09/ + 2016-09-09T00:00:00Z + 2016-09-09T00:00:00Z + + + Lol + author@example.com + + This is Post 09.

+]]>
+
+ + + Post 08 + /post/post08/ + 2016-09-08T00:00:00Z + 2016-09-08T00:00:00Z + + + Lol + author@example.com + + This is Post 08.

+]]>
+
+ + + Post 07 + /post/post07/ + 2016-09-07T00:00:00Z + 2016-09-07T00:00:00Z + + + Lol + author@example.com + + This is Post 07.

+]]>
+
+ + + Post 06 + /post/post06/ + 2016-09-06T00:00:00Z + 2016-09-06T00:00:00Z + + + Lol + author@example.com + + This is Post 06.

+]]>
+
+ + + Post 05 + /post/post05/ + 2016-09-05T00:00:00Z + 2016-09-05T00:00:00Z + + + Lol + author@example.com + + This is Post 05.

+]]>
+
+ + + Post 04 + /post/post04/ + 2016-09-04T00:00:00Z + 2016-09-04T00:00:00Z + + + Lol + author@example.com + + This is Post 04.

+]]>
+
+ + + Post 03 + /post/post03/ + 2016-09-03T00:00:00Z + 2016-09-03T00:00:00Z + + + Lol + author@example.com + + This is Post 03.

+]]>
+
+ + + Post 02 + /post/post02/ + 2016-09-02T00:00:00Z + 2016-09-02T00:00:00Z + + + Lol + author@example.com + + This is Post 02.

+]]>
+
+ +
+EOF +diff -uN "${TEMP}/proj/_build/atom.xml" "${TEMP}/expected-atom.xml" + +cat > "${TEMP}/expected-post-post01.html" <This is Post 01.

+ + +EOF +diff -uN "${TEMP}/proj/_build/post/post01/index.html" "${TEMP}/expected-post-post01.html" + +cat > "${TEMP}/expected-post-post11.html" <This is Post 11.

+ + +EOF +diff -uN "${TEMP}/proj/_build/post/post11/index.html" "${TEMP}/expected-post-post11.html" + +rm -rf "${TEMP}/proj/_build" + + +### default settings with some posts, atom posts per page 0 + +cat > "${TEMP}/proj/blogcfile" <&1 | tee "${TEMP}/output.txt" +grep "_build/index\\.html" "${TEMP}/output.txt" +grep "_build/atom\\.xml" "${TEMP}/output.txt" +grep "_build/post/post01/index\\.html" "${TEMP}/output.txt" +grep "_build/post/post02/index\\.html" "${TEMP}/output.txt" +grep "_build/post/post03/index\\.html" "${TEMP}/output.txt" +grep "_build/post/post04/index\\.html" "${TEMP}/output.txt" +grep "_build/post/post05/index\\.html" "${TEMP}/output.txt" +grep "_build/post/post06/index\\.html" "${TEMP}/output.txt" +grep "_build/post/post07/index\\.html" "${TEMP}/output.txt" +grep "_build/post/post08/index\\.html" "${TEMP}/output.txt" +grep "_build/post/post09/index\\.html" "${TEMP}/output.txt" +grep "_build/post/post10/index\\.html" "${TEMP}/output.txt" +grep "_build/post/post11/index\\.html" "${TEMP}/output.txt" + +rm "${TEMP}/output.txt" + +cat > "${TEMP}/expected-index.html" < "${TEMP}/expected-atom.xml" < + + Lol's Website + /atom.xml + + + + + Lol + author@example.com + + WAT?! + + +EOF +diff -uN "${TEMP}/proj/_build/atom.xml" "${TEMP}/expected-atom.xml" + +cat > "${TEMP}/expected-post-post01.html" <This is Post 01.

+ + +EOF +diff -uN "${TEMP}/proj/_build/post/post01/index.html" "${TEMP}/expected-post-post01.html" + +cat > "${TEMP}/expected-post-post11.html" <This is Post 11.

+ + +EOF +diff -uN "${TEMP}/proj/_build/post/post11/index.html" "${TEMP}/expected-post-post11.html" + +rm -rf "${TEMP}/proj/_build" + + ### default settings with some posts, order asc cat > "${TEMP}/proj/blogcfile" <