From 9c3065d9cfadd860eea1d96765c642c5a529d9d4 Mon Sep 17 00:00:00 2001 From: "Rafael G. Martins" Date: Sat, 10 Mar 2018 23:42:31 +0100 Subject: make: pass TAG_CLOUD variable to blogc. this variable includes all the tags configured in blogcfile(5) as a space-separated string. --- tests/blogc-make/check_exec.c | 45 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) (limited to 'tests/blogc-make') diff --git a/tests/blogc-make/check_exec.c b/tests/blogc-make/check_exec.c index e0c9931..a6cec3e 100644 --- a/tests/blogc-make/check_exec.c +++ b/tests/blogc-make/check_exec.c @@ -83,6 +83,7 @@ test_build_blogc_cmd_with_settings(void **state) bc_trie_insert(settings->global, "BAR", bc_strdup("BAZ")); bc_trie_t *variables = bc_trie_new(free); bc_trie_insert(variables, "LOL", bc_strdup("HEHE")); + settings->tags = NULL; char *rv = bm_exec_build_blogc_cmd("blogc", settings, variables, true, "main.tmpl", "foo.html", false, true); @@ -121,6 +122,7 @@ test_build_blogc_cmd_with_settings_and_dev(void **state) bc_trie_insert(settings->global, "BAR", bc_strdup("BAZ")); bc_trie_t *variables = bc_trie_new(free); bc_trie_insert(variables, "LOL", bc_strdup("HEHE")); + settings->tags = NULL; char *rv = bm_exec_build_blogc_cmd("blogc", settings, variables, true, "main.tmpl", "foo.html", true, true); @@ -150,6 +152,48 @@ test_build_blogc_cmd_with_settings_and_dev(void **state) } +static void +test_build_blogc_cmd_with_settings_and_tags(void **state) +{ + bm_settings_t *settings = bc_malloc(sizeof(bm_settings_t)); + settings->settings = bc_trie_new(free); + bc_trie_insert(settings->settings, "locale", bc_strdup("en_US.utf8")); + settings->global = bc_trie_new(free); + bc_trie_insert(settings->global, "FOO", bc_strdup("BAR")); + bc_trie_insert(settings->global, "BAR", bc_strdup("BAZ")); + bc_trie_t *variables = bc_trie_new(free); + bc_trie_insert(variables, "LOL", bc_strdup("HEHE")); + settings->tags = bc_str_split("asd foo bar", ' ', 0); + + char *rv = bm_exec_build_blogc_cmd("blogc", settings, variables, true, + "main.tmpl", "foo.html", true, true); + assert_string_equal(rv, + "LC_ALL='en_US.utf8' blogc -D TAG_CLOUD='asd foo bar' -D FOO='BAR' " + "-D BAR='BAZ' -D LOL='HEHE' -D MAKE_ENV_DEV=1 -D MAKE_ENV='dev' -l -t " + "'main.tmpl' -o 'foo.html' -i"); + free(rv); + + rv = bm_exec_build_blogc_cmd("blogc", settings, variables, false, NULL, NULL, + true, false); + assert_string_equal(rv, + "LC_ALL='en_US.utf8' blogc -D TAG_CLOUD='asd foo bar' -D FOO='BAR' " + "-D BAR='BAZ' -D LOL='HEHE' -D MAKE_ENV_DEV=1 -D MAKE_ENV='dev'"); + free(rv); + + rv = bm_exec_build_blogc_cmd("blogc", settings, NULL, false, NULL, NULL, + true, false); + assert_string_equal(rv, + "LC_ALL='en_US.utf8' blogc -D TAG_CLOUD='asd foo bar' -D FOO='BAR' " + "-D BAR='BAZ' -D MAKE_ENV_DEV=1 -D MAKE_ENV='dev'"); + free(rv); + + bc_trie_free(variables); + bc_trie_free(settings->settings); + bc_trie_free(settings->global); + free(settings); +} + + static void test_build_blogc_cmd_without_settings(void **state) { @@ -187,6 +231,7 @@ main(void) #endif unit_test(test_build_blogc_cmd_with_settings), unit_test(test_build_blogc_cmd_with_settings_and_dev), + unit_test(test_build_blogc_cmd_with_settings_and_tags), unit_test(test_build_blogc_cmd_without_settings), }; return run_tests(tests); -- cgit v1.2.3-18-g5258