aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorLion Kortlepel <[email protected]>2026-02-01 12:41:07 +0000
committerLion Kortlepel <[email protected]>2026-02-01 12:41:07 +0000
commita29480c901a92a1b1891b4edc3239f8d997a3f9d (patch)
tree3e4efad7daa65163fd2d653bb2660ee571b47ccf /tests
parentb6a9555abeab565d7bf1a9b3e9840eefe6644674 (diff)
downloadargs-a29480c901a92a1b1891b4edc3239f8d997a3f9d.tar.zst
args-a29480c901a92a1b1891b4edc3239f8d997a3f9d.zip
fix: clarify and add test for positional required argsv2.1
Diffstat (limited to 'tests')
-rw-r--r--tests/tests.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/tests.c b/tests/tests.c
index 1f45ea8..6a7b4b7 100644
--- a/tests/tests.c
+++ b/tests/tests.c
@@ -197,6 +197,24 @@ TEST_CASE(positional_value_same_as_flag) {
return 0;
}
+TEST_CASE(two_positional_second_required) {
+ const char* first = NULL;
+ const char* second = NULL;
+ ls_args args;
+ char* argv[] = { "./hello", NULL };
+ int argc = sizeof(argv) / sizeof(*argv) - 1;
+
+ ls_args_init(&args);
+ ls_args_pos_string(&args, &first, "first", 0);
+ ls_args_pos_string(&args, &second, "second", LS_ARGS_REQUIRED);
+
+ ASSERT(!ls_args_parse(&args, argc, argv));
+ ASSERT_STR_EQ(args.last_error, "Required argument 'second' not provided");
+
+ ls_args_free(&args);
+ return 0;
+}
+
TEST_CASE(basic_args_positional_required) {
const char* first;
ls_args args;