From 99a134ede788419082e45f6c0ad213f206f82582 Mon Sep 17 00:00:00 2001 From: Krzysiek Karbowiak Date: Thu, 6 Mar 2025 08:24:28 +0100 Subject: [PATCH 1/2] Add unit test --- test/unittest/test_parsing.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/test/unittest/test_parsing.cpp b/test/unittest/test_parsing.cpp index 27187111..6a7f2c2f 100644 --- a/test/unittest/test_parsing.cpp +++ b/test/unittest/test_parsing.cpp @@ -147,3 +147,19 @@ TEST_CASE("Positional argument does not consume unrecognised optional argument") CHECK_THROWS_WITH_AS(parser.parse_args(2, cstr_arr{"prog", "-o"}), "unrecognised arguments: -o", argparse::parsing_error); } + +TEST_CASE("Parsing") +{ + auto parser = argparse::ArgumentParser().handle(argparse::Handle::none); + parser.add_argument("pos1"); + parser.add_argument("pos2"); + parser.add_argument("--opt1"); + parser.add_argument("--opt2"); + + auto args = parser.parse_args(6, cstr_arr{"prog", "p1", "--opt1", "o1", "--", "--opt2"}); + + CHECK(args.get_value("pos1") == "p1"); + CHECK(args.get_value("pos2") == "--opt2"); + CHECK(args.get_value("opt1") == "o1"); + CHECK(!args.get("opt2")); +} From ca36ccd85e25fcfdfcb77c235ed171b1eaf60109 Mon Sep 17 00:00:00 2001 From: Krzysiek Karbowiak Date: Thu, 6 Mar 2025 08:26:30 +0100 Subject: [PATCH 2/2] Add unit test --- test/unittest/test_parsing.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/test/unittest/test_parsing.cpp b/test/unittest/test_parsing.cpp index 6a7f2c2f..cdc766b9 100644 --- a/test/unittest/test_parsing.cpp +++ b/test/unittest/test_parsing.cpp @@ -163,3 +163,11 @@ TEST_CASE("Parsing") CHECK(args.get_value("opt1") == "o1"); CHECK(!args.get("opt2")); } + +TEST_CASE("Parsing") +{ + auto parser = argparse::ArgumentParser().handle(argparse::Handle::none); + parser.add_argument("pos").nargs(argparse::zero_or_more); + + auto args = parser.parse_args(5, cstr_arr{"prog", "p1", "p2", "--", "p3"}); +}