From 4b200a6d195470bcbfc280d92222e8573644a8c0 Mon Sep 17 00:00:00 2001 From: Pavel Belikov Date: Tue, 14 Nov 2017 19:08:41 +0300 Subject: add more HelpParams for options --- test.cxx | 72 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) (limited to 'test.cxx') diff --git a/test.cxx b/test.cxx index 71f1fb7..2c4cd6e 100644 --- a/test.cxx +++ b/test.cxx @@ -964,6 +964,78 @@ TEST_CASE("Matcher validation works as expected", "[args]") REQUIRE_THROWS_AS(args::ValueFlag(parser, "", "", {}), args::UsageError); } +TEST_CASE("HelpParams work as expected", "[args]") +{ + args::ArgumentParser p("parser"); + args::ValueFlag f(p, "name", "description", {'f', "foo"}); + args::ValueFlag g(p, "name", "description", {'g'}); + p.Prog("prog"); + + REQUIRE(p.Help() == R"( prog {OPTIONS} + + parser + + OPTIONS: + + -f[name], --foo=[name] description + -g[name] description + +)"); + + p.helpParams.usageString = "usage: "; + p.helpParams.optionsString = "Options"; + p.helpParams.useValueNameOnce = true; + REQUIRE(p.Help() == R"( usage: prog {OPTIONS} + + parser + + Options + + -f, --foo [name] description + -g[name] description + +)"); + + p.helpParams.showValueName = false; + p.helpParams.optionsString = {}; + REQUIRE(p.Help() == R"( usage: prog {OPTIONS} + + parser + + -f, --foo description + -g description + +)"); + + p.helpParams.helpindent = 12; + p.helpParams.optionsString = "Options"; + REQUIRE(p.Help() == R"( usage: prog {OPTIONS} + + parser + + Options + + -f, --foo + description + -g description + +)"); + + p.helpParams.addNewlineBeforeDescription = true; + REQUIRE(p.Help() == R"( usage: prog {OPTIONS} + + parser + + Options + + -f, --foo + description + -g + description + +)"); +} + #undef ARGS_HXX #define ARGS_TESTNAMESPACE #define ARGS_NOEXCEPT -- cgit v1.2.1