summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/blogc-make/check_atom.c108
-rwxr-xr-xtests/blogc-make/check_blogc_make.sh.in325
-rw-r--r--tests/blogc-make/check_settings.c4
-rw-r--r--tests/blogc-make/check_utils.c640
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);
}