summaryrefslogtreecommitdiffstats
path: root/test/helper-test.c
diff options
context:
space:
mode:
Diffstat (limited to 'test/helper-test.c')
-rw-r--r--test/helper-test.c31
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);
+}