From ede6f92c78f4c2e863b415884a3dfc3fad7f1c21 Mon Sep 17 00:00:00 2001 From: Pavel Belikov Date: Sun, 15 Oct 2017 21:51:42 +0300 Subject: add Options::Hidden --- test.cxx | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'test.cxx') diff --git a/test.cxx b/test.cxx index e8a7d81..67172b4 100644 --- a/test.cxx +++ b/test.cxx @@ -590,6 +590,22 @@ TEST_CASE("Required flags work as expected", "[args]") REQUIRE_THROWS_AS(parser3.ParseArgs(std::vector{}), args::RequiredError); } +TEST_CASE("Hidden options are excluded from help", "[args]") +{ + args::ArgumentParser parser1(""); + args::ValueFlag foo(parser1, "foo", "foo", {'f', "foo"}, args::Options::Hidden); + args::ValueFlag bar(parser1, "bar", "bar", {'b'}); + args::Group group(parser1, "group"); + args::ValueFlag foo1(group, "foo", "foo", {'f', "foo"}, args::Options::Hidden); + args::ValueFlag bar2(group, "bar", "bar", {'b'}); + + auto desc = parser1.GetChildDescriptions("", "", "", ""); + REQUIRE(desc.size() == 3); + REQUIRE(std::get<0>(desc[0]) == "b[bar]"); + REQUIRE(std::get<0>(desc[1]) == "group"); + REQUIRE(std::get<0>(desc[2]) == "b[bar]"); +} + #undef ARGS_HXX #define ARGS_TESTNAMESPACE #define ARGS_NOEXCEPT -- cgit v1.2.1