aboutsummaryrefslogtreecommitdiff
path: root/tests/tests.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/tests.c')
-rw-r--r--tests/tests.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/tests/tests.c b/tests/tests.c
new file mode 100644
index 0000000..0e644e8
--- /dev/null
+++ b/tests/tests.c
@@ -0,0 +1,27 @@
+#define LS_TEST_IMPLEMENTATION
+#include "ls_test.h"
+
+#include "ls_args.h"
+
+TEST_CASE(basic_args) {
+ int help = 0;
+ int test = 0;
+ int no = 0;
+ ls_args args;
+ char* argv[] = { "./hello", "-h", "--test", NULL };
+ int argc = sizeof(argv) / sizeof(*argv) - 1;
+
+ ls_args_init(&args);
+ ls_arg_bool(&args, &help, "h", "help", "Provides help", 0);
+ ls_arg_bool(&args, &test, "t", "test", "A test argument", 0);
+ ls_arg_bool(&args, &no, "n", "nope", "An argument that isn't present", 0);
+ ASSERT(ls_args_parse(&args, argc, argv));
+ ASSERT_EQ(help, 1, "%d");
+ ASSERT_EQ(test, 1, "%d");
+ ASSERT_EQ(no, 0, "%d");
+ ls_args_free(&args);
+ return 0;
+}
+
+
+TEST_MAIN