diff options
Diffstat (limited to 'test.cxx')
-rw-r--r-- | test.cxx | 22 |
1 files changed, 20 insertions, 2 deletions
@@ -593,8 +593,8 @@ TEST_CASE("Required flags work as expected", "[args]") TEST_CASE("Hidden options are excluded from help", "[args]") { args::ArgumentParser parser1(""); - args::ValueFlag<int> foo(parser1, "foo", "foo", {'f', "foo"}, args::Options::Hidden); - args::ValueFlag<int> bar(parser1, "bar", "bar", {'b'}); + args::ValueFlag<int> foo(parser1, "foo", "foo", {'f', "foo"}, args::Options::HiddenFromDescription); + args::ValueFlag<int> bar(parser1, "bar", "bar", {'b'}, args::Options::HiddenFromUsage); args::Group group(parser1, "group"); args::ValueFlag<int> foo1(group, "foo", "foo", {'f', "foo"}, args::Options::Hidden); args::ValueFlag<int> bar2(group, "bar", "bar", {'b'}); @@ -604,6 +604,10 @@ TEST_CASE("Hidden options are excluded from help", "[args]") REQUIRE(std::get<0>(desc[0]) == "-b[bar]"); REQUIRE(std::get<0>(desc[1]) == "group"); REQUIRE(std::get<0>(desc[2]) == "-b[bar]"); + + parser1.helpParams.proglineShowFlags = true; + parser1.helpParams.proglinePreferShortFlags = true; + REQUIRE((parser1.GetProgramLine(parser1.helpParams) == std::vector<std::string>{"[-f <foo>]", "[-b <bar>]"})); } TEST_CASE("Implicit values work as expected", "[args]") @@ -1227,6 +1231,20 @@ TEST_CASE("Default values work as expected", "[args]") )"); } +TEST_CASE("Choices description works as expected", "[args]") +{ + args::ArgumentParser p("parser"); + args::MapFlag<int, int> map(p, "map", "map", {"map"}, {{1,1}, {2, 2}}); + args::MapFlagList<char, int> maplist(p, "maplist", "maplist", {"maplist"}, {{'1',1}, {'2', 2}}); + args::MapPositional<std::string, int, args::ValueReader, std::map> mappos(p, "mappos", "mappos", {{"1",1}, {"2", 2}}); + args::MapPositionalList<char, int, std::vector, args::ValueReader, std::map> mapposlist(p, "mapposlist", "mapposlist", {{'1',1}, {'2', 2}}); + + REQUIRE(map.HelpChoices(p.helpParams) == "1, 2"); + REQUIRE(maplist.HelpChoices(p.helpParams) == "1, 2"); + REQUIRE(mappos.HelpChoices(p.helpParams) == "1, 2"); + REQUIRE(mapposlist.HelpChoices(p.helpParams) == "1, 2"); +} + #undef ARGS_HXX #define ARGS_TESTNAMESPACE #define ARGS_NOEXCEPT |