aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorLion Kortlepel <[email protected]>2026-01-20 23:50:01 +0100
committerLion Kortlepel <[email protected]>2026-01-20 23:50:01 +0100
commitca8d76c6e81aef3651bd2dcae2f71a14e0fcca6c (patch)
treeef2a95a94761a239f43418ab4e83ecdf0d034f72 /tests
parent4ed5f7e5d99885f445ec70671779e60efa1bcbcc (diff)
downloadargs-ca8d76c6e81aef3651bd2dcae2f71a14e0fcca6c.tar.zst
args-ca8d76c6e81aef3651bd2dcae2f71a14e0fcca6c.zip
feat: add string argument parsing
Diffstat (limited to 'tests')
-rw-r--r--tests/tests.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/tests/tests.c b/tests/tests.c
index 0e644e8..450c6bd 100644
--- a/tests/tests.c
+++ b/tests/tests.c
@@ -23,5 +23,24 @@ TEST_CASE(basic_args) {
return 0;
}
+TEST_CASE(string_args) {
+ const char* input = NULL;
+ const char* output = NULL;
+ int verbose = 0;
+ ls_args args;
+ char* argv[] = { "./program", "--input", "file.txt", "-o", "output.txt", "-v", NULL };
+ int argc = sizeof(argv) / sizeof(*argv) - 1;
+
+ ls_args_init(&args);
+ ls_arg_string(&args, &input, "i", "input", "Input file path", 0);
+ ls_arg_string(&args, &output, "o", "output", "Output file path", 0);
+ ls_arg_bool(&args, &verbose, "v", "verbose", "Verbose output", 0);
+ ASSERT(ls_args_parse(&args, argc, argv));
+ ASSERT(strcmp(input, "file.txt") == 0);
+ ASSERT(strcmp(output, "output.txt") == 0);
+ ASSERT_EQ(verbose, 1, "%d");
+ ls_args_free(&args);
+ return 0;
+}
TEST_MAIN