aboutsummaryrefslogtreecommitdiff
path: root/test.cxx
diff options
context:
space:
mode:
authorPavel Belikov <pavel.fuchs.belikov@gmail.com>2017-10-15 21:51:42 +0300
committerPavel Belikov <pavel.fuchs.belikov@gmail.com>2017-10-15 21:51:42 +0300
commitede6f92c78f4c2e863b415884a3dfc3fad7f1c21 (patch)
tree9c384c62173c3cfd8e48fa992927914609e54046 /test.cxx
parentMerge pull request #31 from pavel-belikov/required-options (diff)
downloadargs.hxx-ede6f92c78f4c2e863b415884a3dfc3fad7f1c21.tar.xz
add Options::Hidden
Diffstat (limited to 'test.cxx')
-rw-r--r--test.cxx16
1 files changed, 16 insertions, 0 deletions
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<std::string>{}), args::RequiredError);
}
+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::Group group(parser1, "group");
+ args::ValueFlag<int> foo1(group, "foo", "foo", {'f', "foo"}, args::Options::Hidden);
+ args::ValueFlag<int> 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