diff options
Diffstat (limited to 'tests/common/check_utils.c')
-rw-r--r-- | tests/common/check_utils.c | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/tests/common/check_utils.c b/tests/common/check_utils.c index f761cd8..955503b 100644 --- a/tests/common/check_utils.c +++ b/tests/common/check_utils.c @@ -943,6 +943,34 @@ test_trie_foreach(void **state) } +static void +test_shell_quote(void **state) +{ + char *t; + t = bc_shell_quote(NULL); + assert_string_equal(t, "''"); + free(t); + t = bc_shell_quote("!bola"); + assert_string_equal(t, "''\\!'bola'"); + free(t); + t = bc_shell_quote("'bola"); + assert_string_equal(t, "''\\''bola'"); + free(t); + t = bc_shell_quote("bo!bola"); + assert_string_equal(t, "'bo'\\!'bola'"); + free(t); + t = bc_shell_quote("bo'bola"); + assert_string_equal(t, "'bo'\\''bola'"); + free(t); + t = bc_shell_quote("bola!"); + assert_string_equal(t, "'bola'\\!''"); + free(t); + t = bc_shell_quote("bola'"); + assert_string_equal(t, "'bola'\\'''"); + free(t); +} + + int main(void) { @@ -987,6 +1015,9 @@ main(void) unit_test(test_trie_lookup), unit_test(test_trie_size), unit_test(test_trie_foreach), + + // shell + unit_test(test_shell_quote), }; return run_tests(tests); } |