diff options
author | Rafael G. Martins <rafael@rafaelmartins.eng.br> | 2024-05-23 02:31:28 +0200 |
---|---|---|
committer | Rafael G. Martins <rafael@rafaelmartins.eng.br> | 2024-05-23 02:31:28 +0200 |
commit | ee7a26362f2a8c52d21704f3b6ed4b70a613d881 (patch) | |
tree | 8df307833834796046a38852afd900f81aeefb6d /tests/blogc-make | |
parent | 2f4c1de6c3fa23e073b81b9dd9fd9869037612db (diff) | |
download | blogc-ee7a26362f2a8c52d21704f3b6ed4b70a613d881.tar.gz blogc-ee7a26362f2a8c52d21704f3b6ed4b70a613d881.tar.bz2 blogc-ee7a26362f2a8c52d21704f3b6ed4b70a613d881.zip |
make: introduce blog_prefix setting
Diffstat (limited to 'tests/blogc-make')
-rw-r--r-- | tests/blogc-make/check_atom.c | 108 | ||||
-rwxr-xr-x | tests/blogc-make/check_blogc_make.sh.in | 325 | ||||
-rw-r--r-- | tests/blogc-make/check_settings.c | 4 | ||||
-rw-r--r-- | tests/blogc-make/check_utils.c | 640 |
4 files changed, 802 insertions, 275 deletions
diff --git a/tests/blogc-make/check_atom.c b/tests/blogc-make/check_atom.c index 125ca85..15ef510 100644 --- a/tests/blogc-make/check_atom.c +++ b/tests/blogc-make/check_atom.c @@ -225,6 +225,112 @@ test_atom_generate_dir(void **state) static void +test_atom_generate_blog_prefix_file(void **state) +{ + bm_settings_t *settings = bc_malloc(sizeof(bm_settings_t)); + settings->settings = bc_trie_new(free); + bc_trie_insert(settings->settings, "atom_prefix", bc_strdup("atom")); + bc_trie_insert(settings->settings, "atom_ext", bc_strdup(".xml")); + bc_trie_insert(settings->settings, "post_prefix", bc_strdup("post")); + bc_trie_insert(settings->settings, "html_ext", bc_strdup(".html")); + bc_trie_insert(settings->settings, "blog_prefix", bc_strdup("blog")); + + char *cmp = bm_atom_generate(settings); + + assert_non_null(cmp); + + assert_string_equal(cmp, + "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n" + "<feed xmlns=\"http://www.w3.org/2005/Atom\">\n" + " <title type=\"text\">{{ SITE_TITLE }}{% ifdef FILTER_TAG %} - " + "{{ FILTER_TAG }}{% endif %}</title>\n" + " <id>{{ BASE_DOMAIN }}{{ BASE_URL }}/blog/atom{% ifdef FILTER_TAG %}/{{ FILTER_TAG }}" + "{% endif %}.xml</id>\n" + " <updated>{{ DATE_FIRST_FORMATTED }}</updated>\n" + " <link href=\"{{ BASE_DOMAIN }}{{ BASE_URL }}/\" />\n" + " <link href=\"{{ BASE_DOMAIN }}{{ BASE_URL }}/blog/atom{% ifdef FILTER_TAG %}" + "/{{ FILTER_TAG }}{% endif %}.xml\" rel=\"self\" />\n" + " <author>\n" + " <name>{{ AUTHOR_NAME }}</name>\n" + " <email>{{ AUTHOR_EMAIL }}</email>\n" + " </author>\n" + " <subtitle type=\"text\">{{ SITE_TAGLINE }}</subtitle>\n" + " {%- block listing %}\n" + " <entry>\n" + " <title type=\"text\">{{ TITLE }}</title>\n" + " <id>{{ BASE_DOMAIN }}{{ BASE_URL }}/blog/post/{{ FILENAME }}.html</id>\n" + " <updated>{{ DATE_FORMATTED }}</updated>\n" + " <published>{{ DATE_FORMATTED }}</published>\n" + " <link href=\"{{ BASE_DOMAIN }}{{ BASE_URL }}/blog/post/{{ FILENAME }}.html\" />\n" + " <author>\n" + " <name>{{ AUTHOR_NAME }}</name>\n" + " <email>{{ AUTHOR_EMAIL }}</email>\n" + " </author>\n" + " <content type=\"html\"><![CDATA[{{ CONTENT }}]]></content>\n" + " </entry>\n" + " {%- endblock %}\n" + "</feed>\n"); + + free(cmp); + bc_trie_free(settings->settings); + free(settings); +} + + +static void +test_atom_generate_blog_prefix_dir(void **state) +{ + bm_settings_t *settings = bc_malloc(sizeof(bm_settings_t)); + settings->settings = bc_trie_new(free); + bc_trie_insert(settings->settings, "atom_prefix", bc_strdup("atom")); + bc_trie_insert(settings->settings, "atom_ext", bc_strdup("/index.xml")); + bc_trie_insert(settings->settings, "post_prefix", bc_strdup("post")); + bc_trie_insert(settings->settings, "html_ext", bc_strdup("/index.html")); + bc_trie_insert(settings->settings, "blog_prefix", bc_strdup("blog")); + + char *cmp = bm_atom_generate(settings); + + assert_non_null(cmp); + + assert_string_equal(cmp, + "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n" + "<feed xmlns=\"http://www.w3.org/2005/Atom\">\n" + " <title type=\"text\">{{ SITE_TITLE }}{% ifdef FILTER_TAG %} - " + "{{ FILTER_TAG }}{% endif %}</title>\n" + " <id>{{ BASE_DOMAIN }}{{ BASE_URL }}/blog/atom{% ifdef FILTER_TAG %}/{{ FILTER_TAG }}" + "{% endif %}/index.xml</id>\n" + " <updated>{{ DATE_FIRST_FORMATTED }}</updated>\n" + " <link href=\"{{ BASE_DOMAIN }}{{ BASE_URL }}/\" />\n" + " <link href=\"{{ BASE_DOMAIN }}{{ BASE_URL }}/blog/atom{% ifdef FILTER_TAG %}" + "/{{ FILTER_TAG }}{% endif %}/index.xml\" rel=\"self\" />\n" + " <author>\n" + " <name>{{ AUTHOR_NAME }}</name>\n" + " <email>{{ AUTHOR_EMAIL }}</email>\n" + " </author>\n" + " <subtitle type=\"text\">{{ SITE_TAGLINE }}</subtitle>\n" + " {%- block listing %}\n" + " <entry>\n" + " <title type=\"text\">{{ TITLE }}</title>\n" + " <id>{{ BASE_DOMAIN }}{{ BASE_URL }}/blog/post/{{ FILENAME }}/index.html</id>\n" + " <updated>{{ DATE_FORMATTED }}</updated>\n" + " <published>{{ DATE_FORMATTED }}</published>\n" + " <link href=\"{{ BASE_DOMAIN }}{{ BASE_URL }}/blog/post/{{ FILENAME }}/index.html\" />\n" + " <author>\n" + " <name>{{ AUTHOR_NAME }}</name>\n" + " <email>{{ AUTHOR_EMAIL }}</email>\n" + " </author>\n" + " <content type=\"html\"><![CDATA[{{ CONTENT }}]]></content>\n" + " </entry>\n" + " {%- endblock %}\n" + "</feed>\n"); + + free(cmp); + bc_trie_free(settings->settings); + free(settings); +} + + +static void test_atom_empty_file(void **state) { bm_settings_t *settings = bc_malloc(sizeof(bm_settings_t)); @@ -536,6 +642,8 @@ main(void) cmocka_unit_test(test_atom_generate_empty_dir), cmocka_unit_test(test_atom_generate_file), cmocka_unit_test(test_atom_generate_dir), + cmocka_unit_test(test_atom_generate_blog_prefix_file), + cmocka_unit_test(test_atom_generate_blog_prefix_dir), cmocka_unit_test(test_atom_empty_file), cmocka_unit_test(test_atom_empty_dir), cmocka_unit_test(test_atom_file), diff --git a/tests/blogc-make/check_blogc_make.sh.in b/tests/blogc-make/check_blogc_make.sh.in index 429632c..179529a 100755 --- a/tests/blogc-make/check_blogc_make.sh.in +++ b/tests/blogc-make/check_blogc_make.sh.in @@ -1470,19 +1470,19 @@ EOF diff -uN "${TEMP}/proj/_build/page2/index.html" "${TEMP}/expected-page2.html" rm -rf "${TEMP}/proj" -mkdir -p "${TEMP}"/proj{,/temp,/contents/poost} +mkdir -p "${TEMP}"/proj{,/temp,/contents/blog/poost} ### custom settings with some posts -cat > "${TEMP}/proj/contents/poost/foo.blogc" <<EOF +cat > "${TEMP}/proj/contents/blog/poost/foo.blogc" <<EOF TITLE: Foo DATE: 2016-10-01 ---------------- This is foo. EOF -cat > "${TEMP}/proj/contents/poost/bar.blogc" <<EOF +cat > "${TEMP}/proj/contents/blog/poost/bar.blogc" <<EOF TITLE: Bar DATE: 2016-09-01 ---------------- @@ -1510,6 +1510,7 @@ pagination_prefix = pagination posts_per_page = 1 atom_posts_per_page = 1 html_ext = .html +blog_prefix = blog index_prefix = posts post_prefix = poost tag_prefix = taag @@ -1533,13 +1534,13 @@ bar EOF ${TESTS_ENVIRONMENT} ${BLOGC_MAKE} -f "${TEMP}/proj/blogcfile" 2>&1 | tee "${TEMP}/output.txt" -grep "_build/posts\\.html" "${TEMP}/output.txt" -grep "_build/atoom/index\\.xml" "${TEMP}/output.txt" -grep "_build/pagination/1\\.html" "${TEMP}/output.txt" -grep "_build/pagination/2\\.html" "${TEMP}/output.txt" -grep -v "_build/pagination/3\\.html" "${TEMP}/output.txt" -grep "_build/poost/foo\\.html" "${TEMP}/output.txt" -grep "_build/poost/bar\\.html" "${TEMP}/output.txt" +grep "_build/blog/posts\\.html" "${TEMP}/output.txt" +grep "_build/blog/atoom/index\\.xml" "${TEMP}/output.txt" +grep "_build/blog/pagination/1\\.html" "${TEMP}/output.txt" +grep "_build/blog/pagination/2\\.html" "${TEMP}/output.txt" +grep -v "_build/blog/pagination/3\\.html" "${TEMP}/output.txt" +grep "_build/blog/poost/foo\\.html" "${TEMP}/output.txt" +grep "_build/blog/poost/bar\\.html" "${TEMP}/output.txt" rm "${TEMP}/output.txt" @@ -1549,8 +1550,8 @@ Listing: Foo - Oct 01, 2016 EOF -diff -uN "${TEMP}/proj/_build/posts.html" "${TEMP}/expected-index.html" -diff -uN "${TEMP}/proj/_build/pagination/1.html" "${TEMP}/expected-index.html" +diff -uN "${TEMP}/proj/_build/blog/posts.html" "${TEMP}/expected-index.html" +diff -uN "${TEMP}/proj/_build/blog/pagination/1.html" "${TEMP}/expected-index.html" cat > "${TEMP}/expected-page-2.html" <<EOF @@ -1558,16 +1559,16 @@ Listing: Bar - Sep 01, 2016 EOF -diff -uN "${TEMP}/proj/_build/pagination/2.html" "${TEMP}/expected-page-2.html" +diff -uN "${TEMP}/proj/_build/blog/pagination/2.html" "${TEMP}/expected-page-2.html" cat > "${TEMP}/expected-atom.xml" <<EOF <?xml version="1.0" encoding="utf-8"?> <feed xmlns="http://www.w3.org/2005/Atom"> <title type="text">Lol's Website</title> - <id>http://example.org/atoom/index.xml</id> + <id>http://example.org/blog/atoom/index.xml</id> <updated>2016-10-01T00:00:00Z</updated> <link href="http://example.org/" /> - <link href="http://example.org/atoom/index.xml" rel="self" /> + <link href="http://example.org/blog/atoom/index.xml" rel="self" /> <author> <name>Lol</name> <email>author@example.com</email> @@ -1575,10 +1576,10 @@ cat > "${TEMP}/expected-atom.xml" <<EOF <subtitle type="text">WAT?!</subtitle> <entry> <title type="text">Foo</title> - <id>http://example.org/poost/foo.html</id> + <id>http://example.org/blog/poost/foo.html</id> <updated>2016-10-01T00:00:00Z</updated> <published>2016-10-01T00:00:00Z</published> - <link href="http://example.org/poost/foo.html" /> + <link href="http://example.org/blog/poost/foo.html" /> <author> <name>Lol</name> <email>author@example.com</email> @@ -1588,7 +1589,7 @@ cat > "${TEMP}/expected-atom.xml" <<EOF </entry> </feed> EOF -diff -uN "${TEMP}/proj/_build/atoom/index.xml" "${TEMP}/expected-atom.xml" +diff -uN "${TEMP}/proj/_build/blog/atoom/index.xml" "${TEMP}/expected-atom.xml" cat > "${TEMP}/expected-post-foo.html" <<EOF @@ -1599,7 +1600,7 @@ Foo - Oct 01, 2016 EOF -diff -uN "${TEMP}/proj/_build/poost/foo.html" "${TEMP}/expected-post-foo.html" +diff -uN "${TEMP}/proj/_build/blog/poost/foo.html" "${TEMP}/expected-post-foo.html" cat > "${TEMP}/expected-post-bar.html" <<EOF @@ -1610,14 +1611,14 @@ Bar - Sep 01, 2016 EOF -diff -uN "${TEMP}/proj/_build/poost/bar.html" "${TEMP}/expected-post-bar.html" +diff -uN "${TEMP}/proj/_build/blog/poost/bar.html" "${TEMP}/expected-post-bar.html" rm -rf "${TEMP}/proj/_build" ### custom settings with some posts and tags -cat > "${TEMP}/proj/contents/poost/baz.blogc" <<EOF +cat > "${TEMP}/proj/contents/blog/poost/baz.blogc" <<EOF TITLE: Baz DATE: 2016-08-01 TAGS: tag1 tag2 @@ -1633,29 +1634,29 @@ tag2 EOF ${TESTS_ENVIRONMENT} ${BLOGC_MAKE} -f "${TEMP}/proj/blogcfile" 2>&1 | tee "${TEMP}/output.txt" -grep "_build/posts\\.html" "${TEMP}/output.txt" -grep "_build/atoom/index\\.xml" "${TEMP}/output.txt" -grep "_build/atoom/tag1/index\\.xml" "${TEMP}/output.txt" -grep "_build/atoom/tag2/index\\.xml" "${TEMP}/output.txt" -grep "_build/pagination/1\\.html" "${TEMP}/output.txt" -grep "_build/pagination/2\\.html" "${TEMP}/output.txt" -grep "_build/pagination/3\\.html" "${TEMP}/output.txt" -grep -v "_build/pagination/4\\.html" "${TEMP}/output.txt" -grep "_build/poost/foo\\.html" "${TEMP}/output.txt" -grep "_build/poost/bar\\.html" "${TEMP}/output.txt" -grep "_build/poost/baz\\.html" "${TEMP}/output.txt" -grep "_build/taag/tag1\\.html" "${TEMP}/output.txt" -grep "_build/taag/tag1/pagination/1\\.html" "${TEMP}/output.txt" -grep -v "_build/taag/tag1/pagination/2\\.html" "${TEMP}/output.txt" -grep "_build/taag/tag2\\.html" "${TEMP}/output.txt" -grep "_build/taag/tag2/pagination/1\\.html" "${TEMP}/output.txt" -grep -v "_build/taag/tag2/pagination/2\\.html" "${TEMP}/output.txt" +grep "_build/blog/posts\\.html" "${TEMP}/output.txt" +grep "_build/blog/atoom/index\\.xml" "${TEMP}/output.txt" +grep "_build/blog/atoom/tag1/index\\.xml" "${TEMP}/output.txt" +grep "_build/blog/atoom/tag2/index\\.xml" "${TEMP}/output.txt" +grep "_build/blog/pagination/1\\.html" "${TEMP}/output.txt" +grep "_build/blog/pagination/2\\.html" "${TEMP}/output.txt" +grep "_build/blog/pagination/3\\.html" "${TEMP}/output.txt" +grep -v "_build/blog/pagination/4\\.html" "${TEMP}/output.txt" +grep "_build/blog/poost/foo\\.html" "${TEMP}/output.txt" +grep "_build/blog/poost/bar\\.html" "${TEMP}/output.txt" +grep "_build/blog/poost/baz\\.html" "${TEMP}/output.txt" +grep "_build/blog/taag/tag1\\.html" "${TEMP}/output.txt" +grep "_build/blog/taag/tag1/pagination/1\\.html" "${TEMP}/output.txt" +grep -v "_build/blog/taag/tag1/pagination/2\\.html" "${TEMP}/output.txt" +grep "_build/blog/taag/tag2\\.html" "${TEMP}/output.txt" +grep "_build/blog/taag/tag2/pagination/1\\.html" "${TEMP}/output.txt" +grep -v "_build/blog/taag/tag2/pagination/2\\.html" "${TEMP}/output.txt" rm "${TEMP}/output.txt" -diff -uN "${TEMP}/proj/_build/posts.html" "${TEMP}/expected-index.html" -diff -uN "${TEMP}/proj/_build/pagination/1.html" "${TEMP}/expected-index.html" -diff -uN "${TEMP}/proj/_build/pagination/2.html" "${TEMP}/expected-page-2.html" +diff -uN "${TEMP}/proj/_build/blog/posts.html" "${TEMP}/expected-index.html" +diff -uN "${TEMP}/proj/_build/blog/pagination/1.html" "${TEMP}/expected-index.html" +diff -uN "${TEMP}/proj/_build/blog/pagination/2.html" "${TEMP}/expected-page-2.html" cat > "${TEMP}/expected-page-3.html" <<EOF @@ -1663,18 +1664,18 @@ Listing: Baz - Aug 01, 2016 EOF -diff -uN "${TEMP}/proj/_build/pagination/3.html" "${TEMP}/expected-page-3.html" +diff -uN "${TEMP}/proj/_build/blog/pagination/3.html" "${TEMP}/expected-page-3.html" -diff -uN "${TEMP}/proj/_build/atoom/index.xml" "${TEMP}/expected-atom.xml" +diff -uN "${TEMP}/proj/_build/blog/atoom/index.xml" "${TEMP}/expected-atom.xml" cat > "${TEMP}/expected-atom-tag1.xml" <<EOF <?xml version="1.0" encoding="utf-8"?> <feed xmlns="http://www.w3.org/2005/Atom"> <title type="text">Lol's Website - tag1</title> - <id>http://example.org/atoom/tag1/index.xml</id> + <id>http://example.org/blog/atoom/tag1/index.xml</id> <updated>2016-08-01T00:00:00Z</updated> <link href="http://example.org/" /> - <link href="http://example.org/atoom/tag1/index.xml" rel="self" /> + <link href="http://example.org/blog/atoom/tag1/index.xml" rel="self" /> <author> <name>Lol</name> <email>author@example.com</email> @@ -1682,10 +1683,10 @@ cat > "${TEMP}/expected-atom-tag1.xml" <<EOF <subtitle type="text">WAT?!</subtitle> <entry> <title type="text">Baz</title> - <id>http://example.org/poost/baz.html</id> + <id>http://example.org/blog/poost/baz.html</id> <updated>2016-08-01T00:00:00Z</updated> <published>2016-08-01T00:00:00Z</published> - <link href="http://example.org/poost/baz.html" /> + <link href="http://example.org/blog/poost/baz.html" /> <author> <name>Lol</name> <email>author@example.com</email> @@ -1695,16 +1696,16 @@ cat > "${TEMP}/expected-atom-tag1.xml" <<EOF </entry> </feed> EOF -diff -uN "${TEMP}/proj/_build/atoom/tag1/index.xml" "${TEMP}/expected-atom-tag1.xml" +diff -uN "${TEMP}/proj/_build/blog/atoom/tag1/index.xml" "${TEMP}/expected-atom-tag1.xml" cat > "${TEMP}/expected-atom-tag2.xml" <<EOF <?xml version="1.0" encoding="utf-8"?> <feed xmlns="http://www.w3.org/2005/Atom"> <title type="text">Lol's Website - tag2</title> - <id>http://example.org/atoom/tag2/index.xml</id> + <id>http://example.org/blog/atoom/tag2/index.xml</id> <updated>2016-08-01T00:00:00Z</updated> <link href="http://example.org/" /> - <link href="http://example.org/atoom/tag2/index.xml" rel="self" /> + <link href="http://example.org/blog/atoom/tag2/index.xml" rel="self" /> <author> <name>Lol</name> <email>author@example.com</email> @@ -1712,10 +1713,10 @@ cat > "${TEMP}/expected-atom-tag2.xml" <<EOF <subtitle type="text">WAT?!</subtitle> <entry> <title type="text">Baz</title> - <id>http://example.org/poost/baz.html</id> + <id>http://example.org/blog/poost/baz.html</id> <updated>2016-08-01T00:00:00Z</updated> <published>2016-08-01T00:00:00Z</published> - <link href="http://example.org/poost/baz.html" /> + <link href="http://example.org/blog/poost/baz.html" /> <author> <name>Lol</name> <email>author@example.com</email> @@ -1725,7 +1726,7 @@ cat > "${TEMP}/expected-atom-tag2.xml" <<EOF </entry> </feed> EOF -diff -uN "${TEMP}/proj/_build/atoom/tag2/index.xml" "${TEMP}/expected-atom-tag2.xml" +diff -uN "${TEMP}/proj/_build/blog/atoom/tag2/index.xml" "${TEMP}/expected-atom-tag2.xml" cat > "${TEMP}/expected-post-baz.html" <<EOF @@ -1736,9 +1737,9 @@ Baz - Aug 01, 2016 EOF -diff -uN "${TEMP}/proj/_build/poost/foo.html" "${TEMP}/expected-post-foo.html" -diff -uN "${TEMP}/proj/_build/poost/bar.html" "${TEMP}/expected-post-bar.html" -diff -uN "${TEMP}/proj/_build/poost/baz.html" "${TEMP}/expected-post-baz.html" +diff -uN "${TEMP}/proj/_build/blog/poost/foo.html" "${TEMP}/expected-post-foo.html" +diff -uN "${TEMP}/proj/_build/blog/poost/bar.html" "${TEMP}/expected-post-bar.html" +diff -uN "${TEMP}/proj/_build/blog/poost/baz.html" "${TEMP}/expected-post-baz.html" cat > "${TEMP}/expected-tag1.html" <<EOF @@ -1746,8 +1747,8 @@ Listing: tag1 - Baz - Aug 01, 2016 EOF -diff -uN "${TEMP}/proj/_build/taag/tag1.html" "${TEMP}/expected-tag1.html" -diff -uN "${TEMP}/proj/_build/taag/tag1/pagination/1.html" "${TEMP}/expected-tag1.html" +diff -uN "${TEMP}/proj/_build/blog/taag/tag1.html" "${TEMP}/expected-tag1.html" +diff -uN "${TEMP}/proj/_build/blog/taag/tag1/pagination/1.html" "${TEMP}/expected-tag1.html" cat > "${TEMP}/expected-tag2.html" <<EOF @@ -1755,8 +1756,8 @@ Listing: tag2 - Baz - Aug 01, 2016 EOF -diff -uN "${TEMP}/proj/_build/taag/tag2.html" "${TEMP}/expected-tag2.html" -diff -uN "${TEMP}/proj/_build/taag/tag2/pagination/1.html" "${TEMP}/expected-tag2.html" +diff -uN "${TEMP}/proj/_build/blog/taag/tag2.html" "${TEMP}/expected-tag2.html" +diff -uN "${TEMP}/proj/_build/blog/taag/tag2/pagination/1.html" "${TEMP}/expected-tag2.html" rm -rf "${TEMP}/proj/_build" @@ -1782,45 +1783,45 @@ page2 EOF ${TESTS_ENVIRONMENT} ${BLOGC_MAKE} -f "${TEMP}/proj/blogcfile" 2>&1 | tee "${TEMP}/output.txt" -grep "_build/posts\\.html" "${TEMP}/output.txt" -grep "_build/atoom/index\\.xml" "${TEMP}/output.txt" -grep "_build/atoom/tag1/index\\.xml" "${TEMP}/output.txt" -grep "_build/atoom/tag2/index\\.xml" "${TEMP}/output.txt" -grep "_build/pagination/1\\.html" "${TEMP}/output.txt" -grep "_build/pagination/2\\.html" "${TEMP}/output.txt" -grep "_build/pagination/3\\.html" "${TEMP}/output.txt" -grep -v "_build/pagination/4\\.html" "${TEMP}/output.txt" -grep "_build/poost/foo\\.html" "${TEMP}/output.txt" -grep "_build/poost/bar\\.html" "${TEMP}/output.txt" -grep "_build/poost/baz\\.html" "${TEMP}/output.txt" -grep "_build/taag/tag1\\.html" "${TEMP}/output.txt" -grep "_build/taag/tag1/pagination/1\\.html" "${TEMP}/output.txt" -grep -v "_build/taag/tag1/pagination/2\\.html" "${TEMP}/output.txt" -grep "_build/taag/tag2\\.html" "${TEMP}/output.txt" -grep "_build/taag/tag2/pagination/1\\.html" "${TEMP}/output.txt" -grep -v "_build/taag/tag2/pagination/2\\.html" "${TEMP}/output.txt" +grep "_build/blog/posts\\.html" "${TEMP}/output.txt" +grep "_build/blog/atoom/index\\.xml" "${TEMP}/output.txt" +grep "_build/blog/atoom/tag1/index\\.xml" "${TEMP}/output.txt" +grep "_build/blog/atoom/tag2/index\\.xml" "${TEMP}/output.txt" +grep "_build/blog/pagination/1\\.html" "${TEMP}/output.txt" +grep "_build/blog/pagination/2\\.html" "${TEMP}/output.txt" +grep "_build/blog/pagination/3\\.html" "${TEMP}/output.txt" +grep -v "_build/blog/pagination/4\\.html" "${TEMP}/output.txt" +grep "_build/blog/poost/foo\\.html" "${TEMP}/output.txt" +grep "_build/blog/poost/bar\\.html" "${TEMP}/output.txt" +grep "_build/blog/poost/baz\\.html" "${TEMP}/output.txt" +grep "_build/blog/taag/tag1\\.html" "${TEMP}/output.txt" +grep "_build/blog/taag/tag1/pagination/1\\.html" "${TEMP}/output.txt" +grep -v "_build/blog/taag/tag1/pagination/2\\.html" "${TEMP}/output.txt" +grep "_build/blog/taag/tag2\\.html" "${TEMP}/output.txt" +grep "_build/blog/taag/tag2/pagination/1\\.html" "${TEMP}/output.txt" +grep -v "_build/blog/taag/tag2/pagination/2\\.html" "${TEMP}/output.txt" grep "_build/page1\\.html" "${TEMP}/output.txt" grep "_build/page2\\.html" "${TEMP}/output.txt" rm "${TEMP}/output.txt" -diff -uN "${TEMP}/proj/_build/posts.html" "${TEMP}/expected-index.html" -diff -uN "${TEMP}/proj/_build/pagination/1.html" "${TEMP}/expected-index.html" -diff -uN "${TEMP}/proj/_build/pagination/2.html" "${TEMP}/expected-page-2.html" -diff -uN "${TEMP}/proj/_build/pagination/3.html" "${TEMP}/expected-page-3.html" +diff -uN "${TEMP}/proj/_build/blog/posts.html" "${TEMP}/expected-index.html" +diff -uN "${TEMP}/proj/_build/blog/pagination/1.html" "${TEMP}/expected-index.html" +diff -uN "${TEMP}/proj/_build/blog/pagination/2.html" "${TEMP}/expected-page-2.html" +diff -uN "${TEMP}/proj/_build/blog/pagination/3.html" "${TEMP}/expected-page-3.html" -diff -uN "${TEMP}/proj/_build/atoom/index.xml" "${TEMP}/expected-atom.xml" -diff -uN "${TEMP}/proj/_build/atoom/tag1/index.xml" "${TEMP}/expected-atom-tag1.xml" -diff -uN "${TEMP}/proj/_build/atoom/tag2/index.xml" "${TEMP}/expected-atom-tag2.xml" +diff -uN "${TEMP}/proj/_build/blog/atoom/index.xml" "${TEMP}/expected-atom.xml" +diff -uN "${TEMP}/proj/_build/blog/atoom/tag1/index.xml" "${TEMP}/expected-atom-tag1.xml" +diff -uN "${TEMP}/proj/_build/blog/atoom/tag2/index.xml" "${TEMP}/expected-atom-tag2.xml" -diff -uN "${TEMP}/proj/_build/poost/foo.html" "${TEMP}/expected-post-foo.html" -diff -uN "${TEMP}/proj/_build/poost/bar.html" "${TEMP}/expected-post-bar.html" -diff -uN "${TEMP}/proj/_build/poost/baz.html" "${TEMP}/expected-post-baz.html" +diff -uN "${TEMP}/proj/_build/blog/poost/foo.html" "${TEMP}/expected-post-foo.html" +diff -uN "${TEMP}/proj/_build/blog/poost/bar.html" "${TEMP}/expected-post-bar.html" +diff -uN "${TEMP}/proj/_build/blog/poost/baz.html" "${TEMP}/expected-post-baz.html" -diff -uN "${TEMP}/proj/_build/taag/tag1.html" "${TEMP}/expected-tag1.html" -diff -uN "${TEMP}/proj/_build/taag/tag1/pagination/1.html" "${TEMP}/expected-tag1.html" -diff -uN "${TEMP}/proj/_build/taag/tag2.html" "${TEMP}/expected-tag2.html" -diff -uN "${TEMP}/proj/_build/taag/tag2/pagination/1.html" "${TEMP}/expected-tag2.html" +diff -uN "${TEMP}/proj/_build/blog/taag/tag1.html" "${TEMP}/expected-tag1.html" +diff -uN "${TEMP}/proj/_build/blog/taag/tag1/pagination/1.html" "${TEMP}/expected-tag1.html" +diff -uN "${TEMP}/proj/_build/blog/taag/tag2.html" "${TEMP}/expected-tag2.html" +diff -uN "${TEMP}/proj/_build/blog/taag/tag2/pagination/1.html" "${TEMP}/expected-tag2.html" cat > "${TEMP}/expected-page1.html" <<EOF @@ -1866,23 +1867,23 @@ f EOF ${TESTS_ENVIRONMENT} ${BLOGC_MAKE} -f "${TEMP}/proj/blogcfile" 2>&1 | tee "${TEMP}/output.txt" -grep "_build/posts\\.html" "${TEMP}/output.txt" -grep "_build/atoom/index\\.xml" "${TEMP}/output.txt" -grep "_build/atoom/tag1/index\\.xml" "${TEMP}/output.txt" -grep "_build/atoom/tag2/index\\.xml" "${TEMP}/output.txt" -grep "_build/pagination/1\\.html" "${TEMP}/output.txt" -grep "_build/pagination/2\\.html" "${TEMP}/output.txt" -grep "_build/pagination/3\\.html" "${TEMP}/output.txt" +grep "_build/blog/posts\\.html" "${TEMP}/output.txt" +grep "_build/blog/atoom/index\\.xml" "${TEMP}/output.txt" +grep "_build/blog/atoom/tag1/index\\.xml" "${TEMP}/output.txt" +grep "_build/blog/atoom/tag2/index\\.xml" "${TEMP}/output.txt" +grep "_build/blog/pagination/1\\.html" "${TEMP}/output.txt" +grep "_build/blog/pagination/2\\.html" "${TEMP}/output.txt" +grep "_build/blog/pagination/3\\.html" "${TEMP}/output.txt" grep -v "_build/pagination/4\\.html" "${TEMP}/output.txt" -grep "_build/poost/foo\\.html" "${TEMP}/output.txt" -grep "_build/poost/bar\\.html" "${TEMP}/output.txt" -grep "_build/poost/baz\\.html" "${TEMP}/output.txt" -grep "_build/taag/tag1\\.html" "${TEMP}/output.txt" -grep "_build/taag/tag1/pagination/1\\.html" "${TEMP}/output.txt" -grep -v "_build/taag/tag1/pagination/2\\.html" "${TEMP}/output.txt" -grep "_build/taag/tag2\\.html" "${TEMP}/output.txt" -grep "_build/taag/tag2/pagination/1\\.html" "${TEMP}/output.txt" -grep -v "_build/taag/tag2/pagination/2\\.html" "${TEMP}/output.txt" +grep "_build/blog/poost/foo\\.html" "${TEMP}/output.txt" +grep "_build/blog/poost/bar\\.html" "${TEMP}/output.txt" +grep "_build/blog/poost/baz\\.html" "${TEMP}/output.txt" +grep "_build/blog/taag/tag1\\.html" "${TEMP}/output.txt" +grep "_build/blog/taag/tag1/pagination/1\\.html" "${TEMP}/output.txt" +grep -v "_build/blog/taag/tag1/pagination/2\\.html" "${TEMP}/output.txt" +grep "_build/blog/taag/tag2\\.html" "${TEMP}/output.txt" +grep "_build/blog/taag/tag2/pagination/1\\.html" "${TEMP}/output.txt" +grep -v "_build/blog/taag/tag2/pagination/2\\.html" "${TEMP}/output.txt" grep "_build/page1\\.html" "${TEMP}/output.txt" grep "_build/page2\\.html" "${TEMP}/output.txt" grep "_build/a/b/c/foo" "${TEMP}/output.txt" @@ -1905,23 +1906,23 @@ test "$(cat "${TEMP}/proj/_build/f/XDDDD")" = "FFFUUUUUU" ### clean rule ${TESTS_ENVIRONMENT} ${BLOGC_MAKE} -f "${TEMP}/proj/blogcfile" clean 2>&1 | tee "${TEMP}/output.txt" -grep "_build/posts\\.html" "${TEMP}/output.txt" -grep "_build/atoom/index\\.xml" "${TEMP}/output.txt" -grep "_build/atoom/tag1/index\\.xml" "${TEMP}/output.txt" -grep "_build/atoom/tag2/index\\.xml" "${TEMP}/output.txt" -grep "_build/pagination/1\\.html" "${TEMP}/output.txt" -grep "_build/pagination/2\\.html" "${TEMP}/output.txt" -grep "_build/pagination/3\\.html" "${TEMP}/output.txt" -grep -v "_build/pagination/4\\.html" "${TEMP}/output.txt" -grep "_build/poost/foo\\.html" "${TEMP}/output.txt" -grep "_build/poost/bar\\.html" "${TEMP}/output.txt" -grep "_build/poost/baz\\.html" "${TEMP}/output.txt" -grep "_build/taag/tag1\\.html" "${TEMP}/output.txt" -grep "_build/taag/tag1/pagination/1\\.html" "${TEMP}/output.txt" -grep -v "_build/taag/tag1/pagination/2\\.html" "${TEMP}/output.txt" -grep "_build/taag/tag2\\.html" "${TEMP}/output.txt" -grep "_build/taag/tag2/pagination/1\\.html" "${TEMP}/output.txt" -grep -v "_build/taag/tag2/pagination/2\\.html" "${TEMP}/output.txt" +grep "_build/blog/posts\\.html" "${TEMP}/output.txt" +grep "_build/blog/atoom/index\\.xml" "${TEMP}/output.txt" +grep "_build/blog/atoom/tag1/index\\.xml" "${TEMP}/output.txt" +grep "_build/blog/atoom/tag2/index\\.xml" "${TEMP}/output.txt" +grep "_build/blog/pagination/1\\.html" "${TEMP}/output.txt" +grep "_build/blog/pagination/2\\.html" "${TEMP}/output.txt" +grep "_build/blog/pagination/3\\.html" "${TEMP}/output.txt" +grep -v "_build/blog/pagination/4\\.html" "${TEMP}/output.txt" +grep "_build/blog/poost/foo\\.html" "${TEMP}/output.txt" +grep "_build/blog/poost/bar\\.html" "${TEMP}/output.txt" +grep "_build/blog/poost/baz\\.html" "${TEMP}/output.txt" +grep "_build/blog/taag/tag1\\.html" "${TEMP}/output.txt" +grep "_build/blog/taag/tag1/pagination/1\\.html" "${TEMP}/output.txt" +grep -v "_build/blog/taag/tag1/pagination/2\\.html" "${TEMP}/output.txt" +grep "_build/blog/taag/tag2\\.html" "${TEMP}/output.txt" +grep "_build/blog/taag/tag2/pagination/1\\.html" "${TEMP}/output.txt" +grep -v "_build/blog/taag/tag2/pagination/2\\.html" "${TEMP}/output.txt" grep "_build/page1\\.html" "${TEMP}/output.txt" grep "_build/page2\\.html" "${TEMP}/output.txt" grep "_build/a/b/c/foo" "${TEMP}/output.txt" @@ -1938,23 +1939,23 @@ rm "${TEMP}/output.txt" export OUTPUT_DIR="${TEMP}/___blogc_build" ${TESTS_ENVIRONMENT} ${BLOGC_MAKE} -f "${TEMP}/proj/blogcfile" 2>&1 | tee "${TEMP}/output.txt" -grep "___blogc_build/posts\\.html" "${TEMP}/output.txt" -grep "___blogc_build/atoom/index\\.xml" "${TEMP}/output.txt" -grep "___blogc_build/atoom/tag1/index\\.xml" "${TEMP}/output.txt" -grep "___blogc_build/atoom/tag2/index\\.xml" "${TEMP}/output.txt" -grep "___blogc_build/pagination/1\\.html" "${TEMP}/output.txt" -grep "___blogc_build/pagination/2\\.html" "${TEMP}/output.txt" -grep "___blogc_build/pagination/3\\.html" "${TEMP}/output.txt" -grep -v "___blogc_build/pagination/4\\.html" "${TEMP}/output.txt" -grep "___blogc_build/poost/foo\\.html" "${TEMP}/output.txt" -grep "___blogc_build/poost/bar\\.html" "${TEMP}/output.txt" -grep "___blogc_build/poost/baz\\.html" "${TEMP}/output.txt" -grep "___blogc_build/taag/tag1\\.html" "${TEMP}/output.txt" -grep "___blogc_build/taag/tag1/pagination/1\\.html" "${TEMP}/output.txt" -grep -v "___blogc_build/taag/tag1/pagination/2\\.html" "${TEMP}/output.txt" -grep "___blogc_build/taag/tag2\\.html" "${TEMP}/output.txt" -grep "___blogc_build/taag/tag2/pagination/1\\.html" "${TEMP}/output.txt" -grep -v "___blogc_build/taag/tag2/pagination/2\\.html" "${TEMP}/output.txt" +grep "___blogc_build/blog/posts\\.html" "${TEMP}/output.txt" +grep "___blogc_build/blog/atoom/index\\.xml" "${TEMP}/output.txt" +grep "___blogc_build/blog/atoom/tag1/index\\.xml" "${TEMP}/output.txt" +grep "___blogc_build/blog/atoom/tag2/index\\.xml" "${TEMP}/output.txt" +grep "___blogc_build/blog/pagination/1\\.html" "${TEMP}/output.txt" +grep "___blogc_build/blog/pagination/2\\.html" "${TEMP}/output.txt" +grep "___blogc_build/blog/pagination/3\\.html" "${TEMP}/output.txt" +grep -v "___blogc_build/blog/pagination/4\\.html" "${TEMP}/output.txt" +grep "___blogc_build/blog/poost/foo\\.html" "${TEMP}/output.txt" +grep "___blogc_build/blog/poost/bar\\.html" "${TEMP}/output.txt" +grep "___blogc_build/blog/poost/baz\\.html" "${TEMP}/output.txt" +grep "___blogc_build/blog/taag/tag1\\.html" "${TEMP}/output.txt" +grep "___blogc_build/blog/taag/tag1/pagination/1\\.html" "${TEMP}/output.txt" +grep -v "___blogc_build/blog/taag/tag1/pagination/2\\.html" "${TEMP}/output.txt" +grep "___blogc_build/blog/taag/tag2\\.html" "${TEMP}/output.txt" +grep "___blogc_build/blog/taag/tag2/pagination/1\\.html" "${TEMP}/output.txt" +grep -v "___blogc_build/blog/taag/tag2/pagination/2\\.html" "${TEMP}/output.txt" grep "___blogc_build/page1\\.html" "${TEMP}/output.txt" grep "___blogc_build/page2\\.html" "${TEMP}/output.txt" grep "___blogc_build/a/b/c/foo" "${TEMP}/output.txt" @@ -1967,23 +1968,23 @@ grep "___blogc_build/f/XDDDD" "${TEMP}/output.txt" rm "${TEMP}/output.txt" ${TESTS_ENVIRONMENT} ${BLOGC_MAKE} -f "${TEMP}/proj/blogcfile" clean 2>&1 | tee "${TEMP}/output.txt" -grep "___blogc_build/posts\\.html" "${TEMP}/output.txt" -grep "___blogc_build/atoom/index\\.xml" "${TEMP}/output.txt" -grep "___blogc_build/atoom/tag1/index\\.xml" "${TEMP}/output.txt" -grep "___blogc_build/atoom/tag2/index\\.xml" "${TEMP}/output.txt" -grep "___blogc_build/pagination/1\\.html" "${TEMP}/output.txt" -grep "___blogc_build/pagination/2\\.html" "${TEMP}/output.txt" -grep "___blogc_build/pagination/3\\.html" "${TEMP}/output.txt" -grep -v "___blogc_build/pagination/4\\.html" "${TEMP}/output.txt" -grep "___blogc_build/poost/foo\\.html" "${TEMP}/output.txt" -grep "___blogc_build/poost/bar\\.html" "${TEMP}/output.txt" -grep "___blogc_build/poost/baz\\.html" "${TEMP}/output.txt" -grep "___blogc_build/taag/tag1\\.html" "${TEMP}/output.txt" -grep "___blogc_build/taag/tag1/pagination/1\\.html" "${TEMP}/output.txt" -grep -v "___blogc_build/taag/tag1/pagination/2\\.html" "${TEMP}/output.txt" -grep "___blogc_build/taag/tag2\\.html" "${TEMP}/output.txt" -grep "___blogc_build/taag/tag2/pagination/1\\.html" "${TEMP}/output.txt" -grep -v "___blogc_build/taag/tag2/pagination/2\\.html" "${TEMP}/output.txt" +grep "___blogc_build/blog/posts\\.html" "${TEMP}/output.txt" +grep "___blogc_build/blog/atoom/index\\.xml" "${TEMP}/output.txt" +grep "___blogc_build/blog/atoom/tag1/index\\.xml" "${TEMP}/output.txt" +grep "___blogc_build/blog/atoom/tag2/index\\.xml" "${TEMP}/output.txt" +grep "___blogc_build/blog/pagination/1\\.html" "${TEMP}/output.txt" +grep "___blogc_build/blog/pagination/2\\.html" "${TEMP}/output.txt" +grep "___blogc_build/blog/pagination/3\\.html" "${TEMP}/output.txt" +grep -v "___blogc_build/blog/pagination/4\\.html" "${TEMP}/output.txt" +grep "___blogc_build/blog/poost/foo\\.html" "${TEMP}/output.txt" +grep "___blogc_build/blog/poost/bar\\.html" "${TEMP}/output.txt" +grep "___blogc_build/blog/poost/baz\\.html" "${TEMP}/output.txt" +grep "___blogc_build/blog/taag/tag1\\.html" "${TEMP}/output.txt" +grep "___blogc_build/blog/taag/tag1/pagination/1\\.html" "${TEMP}/output.txt" +grep -v "___blogc_build/blog/taag/tag1/pagination/2\\.html" "${TEMP}/output.txt" +grep "___blogc_build/blog/taag/tag2\\.html" "${TEMP}/output.txt" +grep "___blogc_build/blog/taag/tag2/pagination/1\\.html" "${TEMP}/output.txt" +grep -v "___blogc_build/blog/taag/tag2/pagination/2\\.html" "${TEMP}/output.txt" grep "___blogc_build/page1\\.html" "${TEMP}/output.txt" grep "___blogc_build/page2\\.html" "${TEMP}/output.txt" grep "___blogc_build/a/b/c/foo" "${TEMP}/output.txt" @@ -2008,10 +2009,10 @@ cat > "${TEMP}/expected-atom-dump.xml" <<EOF <?xml version="1.0" encoding="utf-8"?> <feed xmlns="http://www.w3.org/2005/Atom"> <title type="text">{{ SITE_TITLE }}{% ifdef FILTER_TAG %} - {{ FILTER_TAG }}{% endif %}</title> - <id>{{ BASE_DOMAIN }}{{ BASE_URL }}/atoom{% ifdef FILTER_TAG %}/{{ FILTER_TAG }}{% endif %}/index.xml</id> + <id>{{ BASE_DOMAIN }}{{ BASE_URL }}/blog/atoom{% ifdef FILTER_TAG %}/{{ FILTER_TAG }}{% endif %}/index.xml</id> <updated>{{ DATE_FIRST_FORMATTED }}</updated> <link href="{{ BASE_DOMAIN }}{{ BASE_URL }}/" /> - <link href="{{ BASE_DOMAIN }}{{ BASE_URL }}/atoom{% ifdef FILTER_TAG %}/{{ FILTER_TAG }}{% endif %}/index.xml" rel="self" /> + <link href="{{ BASE_DOMAIN }}{{ BASE_URL }}/blog/atoom{% ifdef FILTER_TAG %}/{{ FILTER_TAG }}{% endif %}/index.xml" rel="self" /> <author> <name>{{ AUTHOR_NAME }}</name> <email>{{ AUTHOR_EMAIL }}</email> @@ -2020,10 +2021,10 @@ cat > "${TEMP}/expected-atom-dump.xml" <<EOF {%- block listing %} <entry> <title type="text">{{ TITLE }}</title> - <id>{{ BASE_DOMAIN }}{{ BASE_URL }}/poost/{{ FILENAME }}.html</id> + <id>{{ BASE_DOMAIN }}{{ BASE_URL }}/blog/poost/{{ FILENAME }}.html</id> <updated>{{ DATE_FORMATTED }}</updated> <published>{{ DATE_FORMATTED }}</published> - <link href="{{ BASE_DOMAIN }}{{ BASE_URL }}/poost/{{ FILENAME }}.html" /> + <link href="{{ BASE_DOMAIN }}{{ BASE_URL }}/blog/poost/{{ FILENAME }}.html" /> <author> <name>{{ AUTHOR_NAME }}</name> <email>{{ AUTHOR_EMAIL }}</email> diff --git a/tests/blogc-make/check_settings.c b/tests/blogc-make/check_settings.c index 3b136e7..1add2e9 100644 --- a/tests/blogc-make/check_settings.c +++ b/tests/blogc-make/check_settings.c @@ -203,6 +203,7 @@ test_settings_env2(void **state) "[settings]\n" "content_dir = guda\n" "main_template = foo.tmpl\n" + "blog_prefix = blog\n" "\n" "[environment]\n" "BOLA = asd\n" @@ -243,7 +244,7 @@ test_settings_env2(void **state) assert_string_equal(bc_trie_lookup(s->global, "SITE_TITLE"), "Fuuuuuuuuu"); assert_string_equal(bc_trie_lookup(s->global, "SITE_TAGLINE"), "My cool tagline"); assert_string_equal(bc_trie_lookup(s->global, "BASE_DOMAIN"), "http://example.com"); - assert_int_equal(bc_trie_size(s->settings), 16); + assert_int_equal(bc_trie_size(s->settings), 17); assert_string_equal(bc_trie_lookup(s->settings, "source_ext"), ".txt"); assert_string_equal(bc_trie_lookup(s->settings, "html_ext"), "/index.html"); assert_string_equal(bc_trie_lookup(s->settings, "content_dir"), "guda"); @@ -261,6 +262,7 @@ test_settings_env2(void **state) assert_string_equal(bc_trie_lookup(s->settings, "html_order"), "DESC"); assert_string_equal(bc_trie_lookup(s->settings, "atom_order"), "DESC"); assert_string_equal(bc_trie_lookup(s->settings, "index_prefix"), ""); + assert_string_equal(bc_trie_lookup(s->settings, "blog_prefix"), "blog"); assert_non_null(s->posts); assert_string_equal(s->posts[0], "aaaa"); assert_string_equal(s->posts[1], "bbbb"); diff --git a/tests/blogc-make/check_utils.c b/tests/blogc-make/check_utils.c index cc4fd60..5865856 100644 --- a/tests/blogc-make/check_utils.c +++ b/tests/blogc-make/check_utils.c @@ -17,106 +17,202 @@ test_generate_filename(void **state) { char *rv; - assert_null(bm_generate_filename(NULL, NULL, NULL, NULL)); - assert_null(bm_generate_filename(NULL, "", "", "")); - assert_null(bm_generate_filename("_build", NULL, NULL, NULL)); - assert_null(bm_generate_filename("_build", "", "", "")); + assert_null(bm_generate_filename(NULL, NULL, NULL, NULL, NULL)); + assert_null(bm_generate_filename(NULL, NULL, "", "", "")); + assert_null(bm_generate_filename("_build", NULL, NULL, NULL, NULL)); + assert_null(bm_generate_filename("_build", NULL, "", "", "")); - rv = bm_generate_filename(NULL, NULL, NULL, ".html"); + rv = bm_generate_filename(NULL, NULL, NULL, NULL, ".html"); assert_string_equal(rv, "/index.html"); free(rv); - rv = bm_generate_filename(NULL, NULL, NULL, "/index.html"); + rv = bm_generate_filename(NULL, NULL, NULL, NULL, "/index.html"); assert_string_equal(rv, "/index.html"); free(rv); - rv = bm_generate_filename(NULL, "lol", NULL, ".html"); + rv = bm_generate_filename(NULL, NULL, "lol", NULL, ".html"); assert_string_equal(rv, "/lol.html"); free(rv); - rv = bm_generate_filename(NULL, "lol", NULL, "/index.html"); + rv = bm_generate_filename(NULL, NULL, "lol", NULL, "/index.html"); assert_string_equal(rv, "/lol/index.html"); free(rv); - rv = bm_generate_filename(NULL, NULL, "foo", ".html"); + rv = bm_generate_filename(NULL, NULL, NULL, "foo", ".html"); assert_string_equal(rv, "/foo.html"); free(rv); - rv = bm_generate_filename(NULL, NULL, "foo", "/index.html"); + rv = bm_generate_filename(NULL, NULL, NULL, "foo", "/index.html"); assert_string_equal(rv, "/foo/index.html"); free(rv); - rv = bm_generate_filename(NULL, NULL, "index", ".html"); + rv = bm_generate_filename(NULL, NULL, NULL, "index", ".html"); assert_string_equal(rv, "/index.html"); free(rv); - rv = bm_generate_filename(NULL, "lol", "index", ".html"); + rv = bm_generate_filename(NULL, NULL, "lol", "index", ".html"); assert_string_equal(rv, "/lol/index.html"); free(rv); - rv = bm_generate_filename(NULL, NULL, "index", "/index.html"); + rv = bm_generate_filename(NULL, NULL, NULL, "index", "/index.html"); assert_string_equal(rv, "/index.html"); free(rv); - rv = bm_generate_filename(NULL, "lol", "index", "/index.html"); + rv = bm_generate_filename(NULL, NULL, "lol", "index", "/index.html"); assert_string_equal(rv, "/lol/index/index.html"); free(rv); - rv = bm_generate_filename(NULL, "bar", "foo", ".html"); + rv = bm_generate_filename(NULL, NULL, "bar", "foo", ".html"); assert_string_equal(rv, "/bar/foo.html"); free(rv); - rv = bm_generate_filename(NULL, "bar", "foo", "/index.html"); + rv = bm_generate_filename(NULL, NULL, "bar", "foo", "/index.html"); assert_string_equal(rv, "/bar/foo/index.html"); free(rv); - rv = bm_generate_filename("_build", NULL, NULL, ".html"); + rv = bm_generate_filename("_build", NULL, NULL, NULL, ".html"); assert_string_equal(rv, "_build/index.html"); free(rv); - rv = bm_generate_filename("_build", NULL, NULL, "/index.html"); + rv = bm_generate_filename("_build", NULL, NULL, NULL, "/index.html"); assert_string_equal(rv, "_build/index.html"); free(rv); - rv = bm_generate_filename("_build", "lol", NULL, ".html"); + rv = bm_generate_filename("_build", NULL, "lol", NULL, ".html"); assert_string_equal(rv, "_build/lol.html"); free(rv); - rv = bm_generate_filename("_build", "lol", NULL, "/index.html"); + rv = bm_generate_filename("_build", NULL, "lol", NULL, "/index.html"); assert_string_equal(rv, "_build/lol/index.html"); free(rv); - rv = bm_generate_filename("_build", NULL, "foo", ".html"); + rv = bm_generate_filename("_build", NULL, NULL, "foo", ".html"); assert_string_equal(rv, "_build/foo.html"); free(rv); - rv = bm_generate_filename("_build", NULL, "foo", "/index.html"); + rv = bm_generate_filename("_build", NULL, NULL, "foo", "/index.html"); assert_string_equal(rv, "_build/foo/index.html"); free(rv); - rv = bm_generate_filename("_build", NULL, "index", ".html"); + rv = bm_generate_filename("_build", NULL, NULL, "index", ".html"); assert_string_equal(rv, "_build/index.html"); free(rv); - rv = bm_generate_filename("_build", "lol", "index", ".html"); + rv = bm_generate_filename("_build", NULL, "lol", "index", ".html"); assert_string_equal(rv, "_build/lol/index.html"); free(rv); - rv = bm_generate_filename("_build", NULL, "index", "/index.html"); + rv = bm_generate_filename("_build", NULL, NULL, "index", "/index.html"); assert_string_equal(rv, "_build/index.html"); free(rv); - rv = bm_generate_filename("_build", "lol", "index", "/index.html"); + rv = bm_generate_filename("_build", NULL, "lol", "index", "/index.html"); assert_string_equal(rv, "_build/lol/index/index.html"); free(rv); - rv = bm_generate_filename("_build", "bar", "foo", ".html"); + rv = bm_generate_filename("_build", NULL, "bar", "foo", ".html"); assert_string_equal(rv, "_build/bar/foo.html"); free(rv); - rv = bm_generate_filename("_build", "bar", "foo", "/index.html"); + rv = bm_generate_filename("_build", NULL, "bar", "foo", "/index.html"); assert_string_equal(rv, "_build/bar/foo/index.html"); free(rv); + + rv = bm_generate_filename(NULL, "foo", NULL, NULL, ".html"); + assert_string_equal(rv, "/foo/index.html"); + free(rv); + + rv = bm_generate_filename(NULL, "foo", NULL, NULL, "/index.html"); + assert_string_equal(rv, "/foo/index.html"); + free(rv); + + rv = bm_generate_filename(NULL, "foo", "lol", NULL, ".html"); + assert_string_equal(rv, "/foo/lol.html"); + free(rv); + + rv = bm_generate_filename(NULL, "foo", "lol", NULL, "/index.html"); + assert_string_equal(rv, "/foo/lol/index.html"); + free(rv); + + rv = bm_generate_filename(NULL, "foo", NULL, "foo", ".html"); + assert_string_equal(rv, "/foo/foo.html"); + free(rv); + + rv = bm_generate_filename(NULL, "foo", NULL, "foo", "/index.html"); + assert_string_equal(rv, "/foo/foo/index.html"); + free(rv); + + rv = bm_generate_filename(NULL, "foo", NULL, "index", ".html"); + assert_string_equal(rv, "/foo/index.html"); + free(rv); + + rv = bm_generate_filename(NULL, "foo", "lol", "index", ".html"); + assert_string_equal(rv, "/foo/lol/index.html"); + free(rv); + + rv = bm_generate_filename(NULL, "foo", NULL, "index", "/index.html"); + assert_string_equal(rv, "/foo/index.html"); + free(rv); + + rv = bm_generate_filename(NULL, "foo", "lol", "index", "/index.html"); + assert_string_equal(rv, "/foo/lol/index/index.html"); + free(rv); + + rv = bm_generate_filename(NULL, "foo", "bar", "foo", ".html"); + assert_string_equal(rv, "/foo/bar/foo.html"); + free(rv); + + rv = bm_generate_filename(NULL, "foo", "bar", "foo", "/index.html"); + assert_string_equal(rv, "/foo/bar/foo/index.html"); + free(rv); + + rv = bm_generate_filename("_build", "foo", NULL, NULL, ".html"); + assert_string_equal(rv, "_build/foo/index.html"); + free(rv); + + rv = bm_generate_filename("_build", "foo", NULL, NULL, "/index.html"); + assert_string_equal(rv, "_build/foo/index.html"); + free(rv); + + rv = bm_generate_filename("_build", "foo", "lol", NULL, ".html"); + assert_string_equal(rv, "_build/foo/lol.html"); + free(rv); + + rv = bm_generate_filename("_build", "foo", "lol", NULL, "/index.html"); + assert_string_equal(rv, "_build/foo/lol/index.html"); + free(rv); + + rv = bm_generate_filename("_build", "foo", NULL, "foo", ".html"); + assert_string_equal(rv, "_build/foo/foo.html"); + free(rv); + + rv = bm_generate_filename("_build", "foo", NULL, "foo", "/index.html"); + assert_string_equal(rv, "_build/foo/foo/index.html"); + free(rv); + + rv = bm_generate_filename("_build", "foo", NULL, "index", ".html"); + assert_string_equal(rv, "_build/foo/index.html"); + free(rv); + + rv = bm_generate_filename("_build", "foo", "lol", "index", ".html"); + assert_string_equal(rv, "_build/foo/lol/index.html"); + free(rv); + + rv = bm_generate_filename("_build", "foo", NULL, "index", "/index.html"); + assert_string_equal(rv, "_build/foo/index.html"); + free(rv); + + rv = bm_generate_filename("_build", "foo", "lol", "index", "/index.html"); + assert_string_equal(rv, "_build/foo/lol/index/index.html"); + free(rv); + + rv = bm_generate_filename("_build", "foo", "bar", "foo", ".html"); + assert_string_equal(rv, "_build/foo/bar/foo.html"); + free(rv); + + rv = bm_generate_filename("_build", "foo", "bar", "foo", "/index.html"); + assert_string_equal(rv, "_build/foo/bar/foo/index.html"); + free(rv); } @@ -125,330 +221,650 @@ test_generate_filename2(void **state) { char *rv; - assert_null(bm_generate_filename2(NULL, NULL, NULL, NULL, NULL, NULL)); - assert_null(bm_generate_filename2(NULL, "", "", "", "", "")); - assert_null(bm_generate_filename2("_build", NULL, NULL, NULL, NULL, NULL)); - assert_null(bm_generate_filename2("_build", "", "", "", "", "")); + assert_null(bm_generate_filename2(NULL, NULL, NULL, NULL, NULL, NULL, NULL)); + assert_null(bm_generate_filename2(NULL, NULL, "", "", "", "", "")); + assert_null(bm_generate_filename2("_build", NULL, NULL, NULL, NULL, NULL, NULL)); + assert_null(bm_generate_filename2("_build", NULL, "", "", "", "", "")); - rv = bm_generate_filename2(NULL, NULL, NULL, NULL, NULL, ".html"); + rv = bm_generate_filename2(NULL, NULL, NULL, NULL, NULL, NULL, ".html"); assert_string_equal(rv, "/index.html"); free(rv); - rv = bm_generate_filename2(NULL, "p", NULL, NULL, NULL, ".html"); + rv = bm_generate_filename2(NULL, NULL, "p", NULL, NULL, NULL, ".html"); assert_string_equal(rv, "/p.html"); free(rv); - rv = bm_generate_filename2(NULL, NULL, "q", NULL, NULL, ".html"); + rv = bm_generate_filename2(NULL, NULL, NULL, "q", NULL, NULL, ".html"); assert_string_equal(rv, "/q.html"); free(rv); - rv = bm_generate_filename2(NULL, "p", "q", NULL, NULL, ".html"); + rv = bm_generate_filename2(NULL, NULL, "p", "q", NULL, NULL, ".html"); assert_string_equal(rv, "/p/q.html"); free(rv); - rv = bm_generate_filename2(NULL, NULL, NULL, NULL, NULL, "/index.html"); + rv = bm_generate_filename2(NULL, NULL, NULL, NULL, NULL, NULL, "/index.html"); assert_string_equal(rv, "/index.html"); free(rv); - rv = bm_generate_filename2(NULL, "p", NULL, NULL, NULL, "/index.html"); + rv = bm_generate_filename2(NULL, NULL, "p", NULL, NULL, NULL, "/index.html"); assert_string_equal(rv, "/p/index.html"); free(rv); - rv = bm_generate_filename2(NULL, NULL, "q", NULL, NULL, "/index.html"); + rv = bm_generate_filename2(NULL, NULL, NULL, "q", NULL, NULL, "/index.html"); assert_string_equal(rv, "/q/index.html"); free(rv); - rv = bm_generate_filename2(NULL, "p", "q", NULL, NULL, "/index.html"); + rv = bm_generate_filename2(NULL, NULL, "p", "q", NULL, NULL, "/index.html"); assert_string_equal(rv, "/p/q/index.html"); free(rv); - rv = bm_generate_filename2(NULL, NULL, NULL, "lol", NULL, ".html"); + rv = bm_generate_filename2(NULL, NULL, NULL, NULL, "lol", NULL, ".html"); assert_string_equal(rv, "/lol.html"); free(rv); - rv = bm_generate_filename2(NULL, "p", NULL, "lol", NULL, ".html"); + rv = bm_generate_filename2(NULL, NULL, "p", NULL, "lol", NULL, ".html"); assert_string_equal(rv, "/p/lol.html"); free(rv); - rv = bm_generate_filename2(NULL, NULL, "q", "lol", NULL, ".html"); + rv = bm_generate_filename2(NULL, NULL, NULL, "q", "lol", NULL, ".html"); assert_string_equal(rv, "/q/lol.html"); free(rv); - rv = bm_generate_filename2(NULL, "p", "q", "lol", NULL, ".html"); + rv = bm_generate_filename2(NULL, NULL, "p", "q", "lol", NULL, ".html"); assert_string_equal(rv, "/p/q/lol.html"); free(rv); - rv = bm_generate_filename2(NULL, NULL, NULL, "lol", NULL, "/index.html"); + rv = bm_generate_filename2(NULL, NULL, NULL, NULL, "lol", NULL, "/index.html"); assert_string_equal(rv, "/lol/index.html"); free(rv); - rv = bm_generate_filename2(NULL, "p", NULL, "lol", NULL, "/index.html"); + rv = bm_generate_filename2(NULL, NULL, "p", NULL, "lol", NULL, "/index.html"); assert_string_equal(rv, "/p/lol/index.html"); free(rv); - rv = bm_generate_filename2(NULL, NULL, "q", "lol", NULL, "/index.html"); + rv = bm_generate_filename2(NULL, NULL, NULL, "q", "lol", NULL, "/index.html"); assert_string_equal(rv, "/q/lol/index.html"); free(rv); - rv = bm_generate_filename2(NULL, "p", "q", "lol", NULL, "/index.html"); + rv = bm_generate_filename2(NULL, NULL, "p", "q", "lol", NULL, "/index.html"); assert_string_equal(rv, "/p/q/lol/index.html"); free(rv); - rv = bm_generate_filename2(NULL, NULL, NULL, NULL, "foo", ".html"); + rv = bm_generate_filename2(NULL, NULL, NULL, NULL, NULL, "foo", ".html"); assert_string_equal(rv, "/foo.html"); free(rv); - rv = bm_generate_filename2(NULL, "p", NULL, NULL, "foo", ".html"); + rv = bm_generate_filename2(NULL, NULL, "p", NULL, NULL, "foo", ".html"); assert_string_equal(rv, "/p/foo.html"); free(rv); - rv = bm_generate_filename2(NULL, NULL, "q", NULL, "foo", ".html"); + rv = bm_generate_filename2(NULL, NULL, NULL, "q", NULL, "foo", ".html"); assert_string_equal(rv, "/q/foo.html"); free(rv); - rv = bm_generate_filename2(NULL, "p", "q", NULL, "foo", ".html"); + rv = bm_generate_filename2(NULL, NULL, "p", "q", NULL, "foo", ".html"); assert_string_equal(rv, "/p/q/foo.html"); free(rv); - rv = bm_generate_filename2(NULL, NULL, NULL, NULL, "foo", "/index.html"); + rv = bm_generate_filename2(NULL, NULL, NULL, NULL, NULL, "foo", "/index.html"); assert_string_equal(rv, "/foo/index.html"); free(rv); - rv = bm_generate_filename2(NULL, "p", NULL, NULL, "foo", "/index.html"); + rv = bm_generate_filename2(NULL, NULL, "p", NULL, NULL, "foo", "/index.html"); assert_string_equal(rv, "/p/foo/index.html"); free(rv); - rv = bm_generate_filename2(NULL, NULL, "q", NULL, "foo", "/index.html"); + rv = bm_generate_filename2(NULL, NULL, NULL, "q", NULL, "foo", "/index.html"); assert_string_equal(rv, "/q/foo/index.html"); free(rv); - rv = bm_generate_filename2(NULL, "p", "q", NULL, "foo", "/index.html"); + rv = bm_generate_filename2(NULL, NULL, "p", "q", NULL, "foo", "/index.html"); assert_string_equal(rv, "/p/q/foo/index.html"); free(rv); - rv = bm_generate_filename2(NULL, NULL, NULL, NULL, "index", ".html"); + rv = bm_generate_filename2(NULL, NULL, NULL, NULL, NULL, "index", ".html"); assert_string_equal(rv, "/index.html"); free(rv); - rv = bm_generate_filename2(NULL, "p", NULL, NULL, "index", ".html"); + rv = bm_generate_filename2(NULL, NULL, "p", NULL, NULL, "index", ".html"); assert_string_equal(rv, "/p/index.html"); free(rv); - rv = bm_generate_filename2(NULL, NULL, "q", NULL, "index", ".html"); + rv = bm_generate_filename2(NULL, NULL, NULL, "q", NULL, "index", ".html"); assert_string_equal(rv, "/q/index.html"); free(rv); - rv = bm_generate_filename2(NULL, "p", "q", NULL, "index", ".html"); + rv = bm_generate_filename2(NULL, NULL, "p", "q", NULL, "index", ".html"); assert_string_equal(rv, "/p/q/index.html"); free(rv); - rv = bm_generate_filename2(NULL, NULL, NULL, NULL, "index", "/index.html"); + rv = bm_generate_filename2(NULL, NULL, NULL, NULL, NULL, "index", "/index.html"); assert_string_equal(rv, "/index.html"); free(rv); - rv = bm_generate_filename2(NULL, "p", NULL, NULL, "index", "/index.html"); + rv = bm_generate_filename2(NULL, NULL, "p", NULL, NULL, "index", "/index.html"); assert_string_equal(rv, "/p/index/index.html"); free(rv); - rv = bm_generate_filename2(NULL, NULL, "q", NULL, "index", "/index.html"); + rv = bm_generate_filename2(NULL, NULL, NULL, "q", NULL, "index", "/index.html"); assert_string_equal(rv, "/q/index/index.html"); free(rv); - rv = bm_generate_filename2(NULL, "p", "q", NULL, "index", "/index.html"); + rv = bm_generate_filename2(NULL, NULL, "p", "q", NULL, "index", "/index.html"); assert_string_equal(rv, "/p/q/index/index.html"); free(rv); - rv = bm_generate_filename2(NULL, NULL, NULL, "bar", "foo", ".html"); + rv = bm_generate_filename2(NULL, NULL, NULL, NULL, "bar", "foo", ".html"); assert_string_equal(rv, "/bar/foo.html"); free(rv); - rv = bm_generate_filename2(NULL, "p", NULL, "bar", "foo", ".html"); + rv = bm_generate_filename2(NULL, NULL, "p", NULL, "bar", "foo", ".html"); assert_string_equal(rv, "/p/bar/foo.html"); free(rv); - rv = bm_generate_filename2(NULL, NULL, "q", "bar", "foo", ".html"); + rv = bm_generate_filename2(NULL, NULL, NULL, "q", "bar", "foo", ".html"); assert_string_equal(rv, "/q/bar/foo.html"); free(rv); - rv = bm_generate_filename2(NULL, "p", "q", "bar", "foo", ".html"); + rv = bm_generate_filename2(NULL, NULL, "p", "q", "bar", "foo", ".html"); assert_string_equal(rv, "/p/q/bar/foo.html"); free(rv); - rv = bm_generate_filename2(NULL, NULL, NULL, "bar", "foo", "/index.html"); + rv = bm_generate_filename2(NULL, NULL, NULL, NULL, "bar", "foo", "/index.html"); assert_string_equal(rv, "/bar/foo/index.html"); free(rv); - rv = bm_generate_filename2(NULL, "p", NULL, "bar", "foo", "/index.html"); + rv = bm_generate_filename2(NULL, NULL, "p", NULL, "bar", "foo", "/index.html"); assert_string_equal(rv, "/p/bar/foo/index.html"); free(rv); - rv = bm_generate_filename2(NULL, NULL, "q", "bar", "foo", "/index.html"); + rv = bm_generate_filename2(NULL, NULL, NULL, "q", "bar", "foo", "/index.html"); assert_string_equal(rv, "/q/bar/foo/index.html"); free(rv); - rv = bm_generate_filename2(NULL, "p", "q", "bar", "foo", "/index.html"); + rv = bm_generate_filename2(NULL, NULL, "p", "q", "bar", "foo", "/index.html"); assert_string_equal(rv, "/p/q/bar/foo/index.html"); free(rv); - rv = bm_generate_filename2("_build", NULL, NULL, NULL, NULL, ".html"); + rv = bm_generate_filename2("_build", NULL, NULL, NULL, NULL, NULL, ".html"); assert_string_equal(rv, "_build/index.html"); free(rv); - rv = bm_generate_filename2("_build", "p", NULL, NULL, NULL, ".html"); + rv = bm_generate_filename2("_build", NULL, "p", NULL, NULL, NULL, ".html"); assert_string_equal(rv, "_build/p.html"); free(rv); - rv = bm_generate_filename2("_build", NULL, "q", NULL, NULL, ".html"); + rv = bm_generate_filename2("_build", NULL, NULL, "q", NULL, NULL, ".html"); assert_string_equal(rv, "_build/q.html"); free(rv); - rv = bm_generate_filename2("_build", "p", "q", NULL, NULL, ".html"); + rv = bm_generate_filename2("_build", NULL, "p", "q", NULL, NULL, ".html"); assert_string_equal(rv, "_build/p/q.html"); free(rv); - rv = bm_generate_filename2("_build", NULL, NULL, NULL, NULL, "/index.html"); + rv = bm_generate_filename2("_build", NULL, NULL, NULL, NULL, NULL, "/index.html"); assert_string_equal(rv, "_build/index.html"); free(rv); - rv = bm_generate_filename2("_build", "p", NULL, NULL, NULL, "/index.html"); + rv = bm_generate_filename2("_build", NULL, "p", NULL, NULL, NULL, "/index.html"); assert_string_equal(rv, "_build/p/index.html"); free(rv); - rv = bm_generate_filename2("_build", NULL, "q", NULL, NULL, "/index.html"); + rv = bm_generate_filename2("_build", NULL, NULL, "q", NULL, NULL, "/index.html"); assert_string_equal(rv, "_build/q/index.html"); free(rv); - rv = bm_generate_filename2("_build", "p", "q", NULL, NULL, "/index.html"); + rv = bm_generate_filename2("_build", NULL, "p", "q", NULL, NULL, "/index.html"); assert_string_equal(rv, "_build/p/q/index.html"); free(rv); - rv = bm_generate_filename2("_build", NULL, NULL, "lol", NULL, ".html"); + rv = bm_generate_filename2("_build", NULL, NULL, NULL, "lol", NULL, ".html"); assert_string_equal(rv, "_build/lol.html"); free(rv); - rv = bm_generate_filename2("_build", "p", NULL, "lol", NULL, ".html"); + rv = bm_generate_filename2("_build", NULL, "p", NULL, "lol", NULL, ".html"); assert_string_equal(rv, "_build/p/lol.html"); free(rv); - rv = bm_generate_filename2("_build", NULL, "q", "lol", NULL, ".html"); + rv = bm_generate_filename2("_build", NULL, NULL, "q", "lol", NULL, ".html"); assert_string_equal(rv, "_build/q/lol.html"); free(rv); - rv = bm_generate_filename2("_build", "p", "q", "lol", NULL, ".html"); + rv = bm_generate_filename2("_build", NULL, "p", "q", "lol", NULL, ".html"); assert_string_equal(rv, "_build/p/q/lol.html"); free(rv); - rv = bm_generate_filename2("_build", NULL, NULL, "lol", NULL, "/index.html"); + rv = bm_generate_filename2("_build", NULL, NULL, NULL, "lol", NULL, "/index.html"); assert_string_equal(rv, "_build/lol/index.html"); free(rv); - rv = bm_generate_filename2("_build", "p", NULL, "lol", NULL, "/index.html"); + rv = bm_generate_filename2("_build", NULL, "p", NULL, "lol", NULL, "/index.html"); assert_string_equal(rv, "_build/p/lol/index.html"); free(rv); - rv = bm_generate_filename2("_build", NULL, "q", "lol", NULL, "/index.html"); + rv = bm_generate_filename2("_build", NULL, NULL, "q", "lol", NULL, "/index.html"); assert_string_equal(rv, "_build/q/lol/index.html"); free(rv); - rv = bm_generate_filename2("_build", "p", "q", "lol", NULL, "/index.html"); + rv = bm_generate_filename2("_build", NULL, "p", "q", "lol", NULL, "/index.html"); assert_string_equal(rv, "_build/p/q/lol/index.html"); free(rv); - rv = bm_generate_filename2("_build", NULL, NULL, NULL, "foo", ".html"); + rv = bm_generate_filename2("_build", NULL, NULL, NULL, NULL, "foo", ".html"); assert_string_equal(rv, "_build/foo.html"); free(rv); - rv = bm_generate_filename2("_build", "p", NULL, NULL, "foo", ".html"); + rv = bm_generate_filename2("_build", NULL, "p", NULL, NULL, "foo", ".html"); assert_string_equal(rv, "_build/p/foo.html"); free(rv); - rv = bm_generate_filename2("_build", NULL, "q", NULL, "foo", ".html"); + rv = bm_generate_filename2("_build", NULL, NULL, "q", NULL, "foo", ".html"); assert_string_equal(rv, "_build/q/foo.html"); free(rv); - rv = bm_generate_filename2("_build", "p", "q", NULL, "foo", ".html"); + rv = bm_generate_filename2("_build", NULL, "p", "q", NULL, "foo", ".html"); assert_string_equal(rv, "_build/p/q/foo.html"); free(rv); - rv = bm_generate_filename2("_build", NULL, NULL, NULL, "foo", "/index.html"); + rv = bm_generate_filename2("_build", NULL, NULL, NULL, NULL, "foo", "/index.html"); assert_string_equal(rv, "_build/foo/index.html"); free(rv); - rv = bm_generate_filename2("_build", "p", NULL, NULL, "foo", "/index.html"); + rv = bm_generate_filename2("_build", NULL, "p", NULL, NULL, "foo", "/index.html"); assert_string_equal(rv, "_build/p/foo/index.html"); free(rv); - rv = bm_generate_filename2("_build", NULL, "q", NULL, "foo", "/index.html"); + rv = bm_generate_filename2("_build", NULL, NULL, "q", NULL, "foo", "/index.html"); assert_string_equal(rv, "_build/q/foo/index.html"); free(rv); - rv = bm_generate_filename2("_build", "p", "q", NULL, "foo", "/index.html"); + rv = bm_generate_filename2("_build", NULL, "p", "q", NULL, "foo", "/index.html"); assert_string_equal(rv, "_build/p/q/foo/index.html"); free(rv); - rv = bm_generate_filename2("_build", NULL, NULL, NULL, "index", ".html"); + rv = bm_generate_filename2("_build", NULL, NULL, NULL, NULL, "index", ".html"); assert_string_equal(rv, "_build/index.html"); free(rv); - rv = bm_generate_filename2("_build", "p", NULL, NULL, "index", ".html"); + rv = bm_generate_filename2("_build", NULL, "p", NULL, NULL, "index", ".html"); assert_string_equal(rv, "_build/p/index.html"); free(rv); - rv = bm_generate_filename2("_build", NULL, "q", NULL, "index", ".html"); + rv = bm_generate_filename2("_build", NULL, NULL, "q", NULL, "index", ".html"); assert_string_equal(rv, "_build/q/index.html"); free(rv); - rv = bm_generate_filename2("_build", "p", "q", NULL, "index", ".html"); + rv = bm_generate_filename2("_build", NULL, "p", "q", NULL, "index", ".html"); assert_string_equal(rv, "_build/p/q/index.html"); free(rv); - rv = bm_generate_filename2("_build", NULL, NULL, NULL, "index", "/index.html"); + rv = bm_generate_filename2("_build", NULL, NULL, NULL, NULL, "index", "/index.html"); assert_string_equal(rv, "_build/index.html"); free(rv); - rv = bm_generate_filename2("_build", "p", NULL, NULL, "index", "/index.html"); + rv = bm_generate_filename2("_build", NULL, "p", NULL, NULL, "index", "/index.html"); assert_string_equal(rv, "_build/p/index/index.html"); free(rv); - rv = bm_generate_filename2("_build", NULL, "q", NULL, "index", "/index.html"); + rv = bm_generate_filename2("_build", NULL, NULL, "q", NULL, "index", "/index.html"); assert_string_equal(rv, "_build/q/index/index.html"); free(rv); - rv = bm_generate_filename2("_build", "p", "q", NULL, "index", "/index.html"); + rv = bm_generate_filename2("_build", NULL, "p", "q", NULL, "index", "/index.html"); assert_string_equal(rv, "_build/p/q/index/index.html"); free(rv); - rv = bm_generate_filename2("_build", NULL, NULL, "bar", "foo", ".html"); + rv = bm_generate_filename2("_build", NULL, NULL, NULL, "bar", "foo", ".html"); assert_string_equal(rv, "_build/bar/foo.html"); free(rv); - rv = bm_generate_filename2("_build", "p", NULL, "bar", "foo", ".html"); + rv = bm_generate_filename2("_build", NULL, "p", NULL, "bar", "foo", ".html"); assert_string_equal(rv, "_build/p/bar/foo.html"); free(rv); - rv = bm_generate_filename2("_build", NULL, "q", "bar", "foo", ".html"); + rv = bm_generate_filename2("_build", NULL, NULL, "q", "bar", "foo", ".html"); assert_string_equal(rv, "_build/q/bar/foo.html"); free(rv); - rv = bm_generate_filename2("_build", "p", "q", "bar", "foo", ".html"); + rv = bm_generate_filename2("_build", NULL, "p", "q", "bar", "foo", ".html"); assert_string_equal(rv, "_build/p/q/bar/foo.html"); free(rv); - rv = bm_generate_filename2("_build", NULL, NULL, "bar", "foo", "/index.html"); + rv = bm_generate_filename2("_build", NULL, NULL, NULL, "bar", "foo", "/index.html"); assert_string_equal(rv, "_build/bar/foo/index.html"); free(rv); - rv = bm_generate_filename2("_build", "p", NULL, "bar", "foo", "/index.html"); + rv = bm_generate_filename2("_build", NULL, "p", NULL, "bar", "foo", "/index.html"); assert_string_equal(rv, "_build/p/bar/foo/index.html"); free(rv); - rv = bm_generate_filename2("_build", NULL, "q", "bar", "foo", "/index.html"); + rv = bm_generate_filename2("_build", NULL, NULL, "q", "bar", "foo", "/index.html"); assert_string_equal(rv, "_build/q/bar/foo/index.html"); free(rv); - rv = bm_generate_filename2("_build", "p", "q", "bar", "foo", "/index.html"); + rv = bm_generate_filename2("_build", NULL, "p", "q", "bar", "foo", "/index.html"); assert_string_equal(rv, "_build/p/q/bar/foo/index.html"); free(rv); + + rv = bm_generate_filename2(NULL, "foo", NULL, NULL, NULL, NULL, ".html"); + assert_string_equal(rv, "/foo/index.html"); + free(rv); + + rv = bm_generate_filename2(NULL, "foo", "p", NULL, NULL, NULL, ".html"); + assert_string_equal(rv, "/foo/p.html"); + free(rv); + + rv = bm_generate_filename2(NULL, "foo", NULL, "q", NULL, NULL, ".html"); + assert_string_equal(rv, "/foo/q.html"); + free(rv); + + rv = bm_generate_filename2(NULL, "foo", "p", "q", NULL, NULL, ".html"); + assert_string_equal(rv, "/foo/p/q.html"); + free(rv); + + rv = bm_generate_filename2(NULL, "foo", NULL, NULL, NULL, NULL, "/index.html"); + assert_string_equal(rv, "/foo/index.html"); + free(rv); + + rv = bm_generate_filename2(NULL, "foo", "p", NULL, NULL, NULL, "/index.html"); + assert_string_equal(rv, "/foo/p/index.html"); + free(rv); + + rv = bm_generate_filename2(NULL, "foo", NULL, "q", NULL, NULL, "/index.html"); + assert_string_equal(rv, "/foo/q/index.html"); + free(rv); + + rv = bm_generate_filename2(NULL, "foo", "p", "q", NULL, NULL, "/index.html"); + assert_string_equal(rv, "/foo/p/q/index.html"); + free(rv); + + rv = bm_generate_filename2(NULL, "foo", NULL, NULL, "lol", NULL, ".html"); + assert_string_equal(rv, "/foo/lol.html"); + free(rv); + + rv = bm_generate_filename2(NULL, "foo", "p", NULL, "lol", NULL, ".html"); + assert_string_equal(rv, "/foo/p/lol.html"); + free(rv); + + rv = bm_generate_filename2(NULL, "foo", NULL, "q", "lol", NULL, ".html"); + assert_string_equal(rv, "/foo/q/lol.html"); + free(rv); + + rv = bm_generate_filename2(NULL, "foo", "p", "q", "lol", NULL, ".html"); + assert_string_equal(rv, "/foo/p/q/lol.html"); + free(rv); + + rv = bm_generate_filename2(NULL, "foo", NULL, NULL, "lol", NULL, "/index.html"); + assert_string_equal(rv, "/foo/lol/index.html"); + free(rv); + + rv = bm_generate_filename2(NULL, "foo", "p", NULL, "lol", NULL, "/index.html"); + assert_string_equal(rv, "/foo/p/lol/index.html"); + free(rv); + + rv = bm_generate_filename2(NULL, "foo", NULL, "q", "lol", NULL, "/index.html"); + assert_string_equal(rv, "/foo/q/lol/index.html"); + free(rv); + + rv = bm_generate_filename2(NULL, "foo", "p", "q", "lol", NULL, "/index.html"); + assert_string_equal(rv, "/foo/p/q/lol/index.html"); + free(rv); + + rv = bm_generate_filename2(NULL, "foo", NULL, NULL, NULL, "foo", ".html"); + assert_string_equal(rv, "/foo/foo.html"); + free(rv); + + rv = bm_generate_filename2(NULL, "foo", "p", NULL, NULL, "foo", ".html"); + assert_string_equal(rv, "/foo/p/foo.html"); + free(rv); + + rv = bm_generate_filename2(NULL, "foo", NULL, "q", NULL, "foo", ".html"); + assert_string_equal(rv, "/foo/q/foo.html"); + free(rv); + + rv = bm_generate_filename2(NULL, "foo", "p", "q", NULL, "foo", ".html"); + assert_string_equal(rv, "/foo/p/q/foo.html"); + free(rv); + + rv = bm_generate_filename2(NULL, "foo", NULL, NULL, NULL, "foo", "/index.html"); + assert_string_equal(rv, "/foo/foo/index.html"); + free(rv); + + rv = bm_generate_filename2(NULL, "foo", "p", NULL, NULL, "foo", "/index.html"); + assert_string_equal(rv, "/foo/p/foo/index.html"); + free(rv); + + rv = bm_generate_filename2(NULL, "foo", NULL, "q", NULL, "foo", "/index.html"); + assert_string_equal(rv, "/foo/q/foo/index.html"); + free(rv); + + rv = bm_generate_filename2(NULL, "foo", "p", "q", NULL, "foo", "/index.html"); + assert_string_equal(rv, "/foo/p/q/foo/index.html"); + free(rv); + + rv = bm_generate_filename2(NULL, "foo", NULL, NULL, NULL, "index", ".html"); + assert_string_equal(rv, "/foo/index.html"); + free(rv); + + rv = bm_generate_filename2(NULL, "foo", "p", NULL, NULL, "index", ".html"); + assert_string_equal(rv, "/foo/p/index.html"); + free(rv); + + rv = bm_generate_filename2(NULL, "foo", NULL, "q", NULL, "index", ".html"); + assert_string_equal(rv, "/foo/q/index.html"); + free(rv); + + rv = bm_generate_filename2(NULL, "foo", "p", "q", NULL, "index", ".html"); + assert_string_equal(rv, "/foo/p/q/index.html"); + free(rv); + + rv = bm_generate_filename2(NULL, "foo", NULL, NULL, NULL, "index", "/index.html"); + assert_string_equal(rv, "/foo/index.html"); + free(rv); + + rv = bm_generate_filename2(NULL, "foo", "p", NULL, NULL, "index", "/index.html"); + assert_string_equal(rv, "/foo/p/index/index.html"); + free(rv); + + rv = bm_generate_filename2(NULL, "foo", NULL, "q", NULL, "index", "/index.html"); + assert_string_equal(rv, "/foo/q/index/index.html"); + free(rv); + + rv = bm_generate_filename2(NULL, "foo", "p", "q", NULL, "index", "/index.html"); + assert_string_equal(rv, "/foo/p/q/index/index.html"); + free(rv); + + rv = bm_generate_filename2(NULL, "foo", NULL, NULL, "bar", "foo", ".html"); + assert_string_equal(rv, "/foo/bar/foo.html"); + free(rv); + + rv = bm_generate_filename2(NULL, "foo", "p", NULL, "bar", "foo", ".html"); + assert_string_equal(rv, "/foo/p/bar/foo.html"); + free(rv); + + rv = bm_generate_filename2(NULL, "foo", NULL, "q", "bar", "foo", ".html"); + assert_string_equal(rv, "/foo/q/bar/foo.html"); + free(rv); + + rv = bm_generate_filename2(NULL, "foo", "p", "q", "bar", "foo", ".html"); + assert_string_equal(rv, "/foo/p/q/bar/foo.html"); + free(rv); + + rv = bm_generate_filename2(NULL, "foo", NULL, NULL, "bar", "foo", "/index.html"); + assert_string_equal(rv, "/foo/bar/foo/index.html"); + free(rv); + + rv = bm_generate_filename2(NULL, "foo", "p", NULL, "bar", "foo", "/index.html"); + assert_string_equal(rv, "/foo/p/bar/foo/index.html"); + free(rv); + + rv = bm_generate_filename2(NULL, "foo", NULL, "q", "bar", "foo", "/index.html"); + assert_string_equal(rv, "/foo/q/bar/foo/index.html"); + free(rv); + + rv = bm_generate_filename2(NULL, "foo", "p", "q", "bar", "foo", "/index.html"); + assert_string_equal(rv, "/foo/p/q/bar/foo/index.html"); + free(rv); + + rv = bm_generate_filename2("_build", "foo", NULL, NULL, NULL, NULL, ".html"); + assert_string_equal(rv, "_build/foo/index.html"); + free(rv); + + rv = bm_generate_filename2("_build", "foo", "p", NULL, NULL, NULL, ".html"); + assert_string_equal(rv, "_build/foo/p.html"); + free(rv); + + rv = bm_generate_filename2("_build", "foo", NULL, "q", NULL, NULL, ".html"); + assert_string_equal(rv, "_build/foo/q.html"); + free(rv); + + rv = bm_generate_filename2("_build", "foo", "p", "q", NULL, NULL, ".html"); + assert_string_equal(rv, "_build/foo/p/q.html"); + free(rv); + + rv = bm_generate_filename2("_build", "foo", NULL, NULL, NULL, NULL, "/index.html"); + assert_string_equal(rv, "_build/foo/index.html"); + free(rv); + + rv = bm_generate_filename2("_build", "foo", "p", NULL, NULL, NULL, "/index.html"); + assert_string_equal(rv, "_build/foo/p/index.html"); + free(rv); + + rv = bm_generate_filename2("_build", "foo", NULL, "q", NULL, NULL, "/index.html"); + assert_string_equal(rv, "_build/foo/q/index.html"); + free(rv); + + rv = bm_generate_filename2("_build", "foo", "p", "q", NULL, NULL, "/index.html"); + assert_string_equal(rv, "_build/foo/p/q/index.html"); + free(rv); + + rv = bm_generate_filename2("_build", "foo", NULL, NULL, "lol", NULL, ".html"); + assert_string_equal(rv, "_build/foo/lol.html"); + free(rv); + + rv = bm_generate_filename2("_build", "foo", "p", NULL, "lol", NULL, ".html"); + assert_string_equal(rv, "_build/foo/p/lol.html"); + free(rv); + + rv = bm_generate_filename2("_build", "foo", NULL, "q", "lol", NULL, ".html"); + assert_string_equal(rv, "_build/foo/q/lol.html"); + free(rv); + + rv = bm_generate_filename2("_build", "foo", "p", "q", "lol", NULL, ".html"); + assert_string_equal(rv, "_build/foo/p/q/lol.html"); + free(rv); + + rv = bm_generate_filename2("_build", "foo", NULL, NULL, "lol", NULL, "/index.html"); + assert_string_equal(rv, "_build/foo/lol/index.html"); + free(rv); + + rv = bm_generate_filename2("_build", "foo", "p", NULL, "lol", NULL, "/index.html"); + assert_string_equal(rv, "_build/foo/p/lol/index.html"); + free(rv); + + rv = bm_generate_filename2("_build", "foo", NULL, "q", "lol", NULL, "/index.html"); + assert_string_equal(rv, "_build/foo/q/lol/index.html"); + free(rv); + + rv = bm_generate_filename2("_build", "foo", "p", "q", "lol", NULL, "/index.html"); + assert_string_equal(rv, "_build/foo/p/q/lol/index.html"); + free(rv); + + rv = bm_generate_filename2("_build", "foo", NULL, NULL, NULL, "foo", ".html"); + assert_string_equal(rv, "_build/foo/foo.html"); + free(rv); + + rv = bm_generate_filename2("_build", "foo", "p", NULL, NULL, "foo", ".html"); + assert_string_equal(rv, "_build/foo/p/foo.html"); + free(rv); + + rv = bm_generate_filename2("_build", "foo", NULL, "q", NULL, "foo", ".html"); + assert_string_equal(rv, "_build/foo/q/foo.html"); + free(rv); + + rv = bm_generate_filename2("_build", "foo", "p", "q", NULL, "foo", ".html"); + assert_string_equal(rv, "_build/foo/p/q/foo.html"); + free(rv); + + rv = bm_generate_filename2("_build", "foo", NULL, NULL, NULL, "foo", "/index.html"); + assert_string_equal(rv, "_build/foo/foo/index.html"); + free(rv); + + rv = bm_generate_filename2("_build", "foo", "p", NULL, NULL, "foo", "/index.html"); + assert_string_equal(rv, "_build/foo/p/foo/index.html"); + free(rv); + + rv = bm_generate_filename2("_build", "foo", NULL, "q", NULL, "foo", "/index.html"); + assert_string_equal(rv, "_build/foo/q/foo/index.html"); + free(rv); + + rv = bm_generate_filename2("_build", "foo", "p", "q", NULL, "foo", "/index.html"); + assert_string_equal(rv, "_build/foo/p/q/foo/index.html"); + free(rv); + + rv = bm_generate_filename2("_build", "foo", NULL, NULL, NULL, "index", ".html"); + assert_string_equal(rv, "_build/foo/index.html"); + free(rv); + + rv = bm_generate_filename2("_build", "foo", "p", NULL, NULL, "index", ".html"); + assert_string_equal(rv, "_build/foo/p/index.html"); + free(rv); + + rv = bm_generate_filename2("_build", "foo", NULL, "q", NULL, "index", ".html"); + assert_string_equal(rv, "_build/foo/q/index.html"); + free(rv); + + rv = bm_generate_filename2("_build", "foo", "p", "q", NULL, "index", ".html"); + assert_string_equal(rv, "_build/foo/p/q/index.html"); + free(rv); + + rv = bm_generate_filename2("_build", "foo", NULL, NULL, NULL, "index", "/index.html"); + assert_string_equal(rv, "_build/foo/index.html"); + free(rv); + + rv = bm_generate_filename2("_build", "foo", "p", NULL, NULL, "index", "/index.html"); + assert_string_equal(rv, "_build/foo/p/index/index.html"); + free(rv); + + rv = bm_generate_filename2("_build", "foo", NULL, "q", NULL, "index", "/index.html"); + assert_string_equal(rv, "_build/foo/q/index/index.html"); + free(rv); + + rv = bm_generate_filename2("_build", "foo", "p", "q", NULL, "index", "/index.html"); + assert_string_equal(rv, "_build/foo/p/q/index/index.html"); + free(rv); + + rv = bm_generate_filename2("_build", "foo", NULL, NULL, "bar", "foo", ".html"); + assert_string_equal(rv, "_build/foo/bar/foo.html"); + free(rv); + + rv = bm_generate_filename2("_build", "foo", "p", NULL, "bar", "foo", ".html"); + assert_string_equal(rv, "_build/foo/p/bar/foo.html"); + free(rv); + + rv = bm_generate_filename2("_build", "foo", NULL, "q", "bar", "foo", ".html"); + assert_string_equal(rv, "_build/foo/q/bar/foo.html"); + free(rv); + + rv = bm_generate_filename2("_build", "foo", "p", "q", "bar", "foo", ".html"); + assert_string_equal(rv, "_build/foo/p/q/bar/foo.html"); + free(rv); + + rv = bm_generate_filename2("_build", "foo", NULL, NULL, "bar", "foo", "/index.html"); + assert_string_equal(rv, "_build/foo/bar/foo/index.html"); + free(rv); + + rv = bm_generate_filename2("_build", "foo", "p", NULL, "bar", "foo", "/index.html"); + assert_string_equal(rv, "_build/foo/p/bar/foo/index.html"); + free(rv); + + rv = bm_generate_filename2("_build", "foo", NULL, "q", "bar", "foo", "/index.html"); + assert_string_equal(rv, "_build/foo/q/bar/foo/index.html"); + free(rv); + + rv = bm_generate_filename2("_build", "foo", "p", "q", "bar", "foo", "/index.html"); + assert_string_equal(rv, "_build/foo/p/q/bar/foo/index.html"); + free(rv); } |