diff options
Diffstat (limited to 'test/helper-test.c')
-rw-r--r-- | test/helper-test.c | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/test/helper-test.c b/test/helper-test.c new file mode 100644 index 00000000..2d64372a --- /dev/null +++ b/test/helper-test.c @@ -0,0 +1,31 @@ +#include <assert.h> +#include <glib.h> +#include <stdio.h> +#include <helper.h> +#include <string.h> + +static int test = 0; + +#define TASSERT(a) {\ + assert ( a );\ + printf("Test %i passed (%s)\n", ++test, #a);\ +} + +int main ( int argc, char ** argv ) +{ + char **list = NULL; + int llength = 0; + char * test_str = "{host} {terminal} -e bash -c \"{ssh-client} {host}; echo '{terminal} {host}'\""; + helper_parse_setup( test_str, &list, &llength, "{host}", "chuck", + "{terminal}", "x-terminal-emulator", NULL); + + TASSERT ( llength == 6 ); + TASSERT ( strcmp(list[0], "chuck") == 0 ); + TASSERT ( strcmp(list[1], "x-terminal-emulator") == 0 ); + TASSERT ( strcmp(list[2], "-e") == 0 ); + TASSERT ( strcmp(list[3], "bash") == 0 ); + TASSERT ( strcmp(list[4], "-c") == 0 ); + TASSERT ( strcmp(list[5], "ssh chuck; echo 'x-terminal-emulator chuck'") == 0 ); + + g_strfreev(list); +} |