diff options
author | Taylor C. Richberger <taywee@gmx.com> | 2017-12-02 20:42:16 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-12-02 20:42:16 -0700 |
commit | 9ae38139a67c9187d85e06cdcce92196a3ff6de7 (patch) | |
tree | 179fb89c33a635bf66f410b6fcb2e878d97f04fa /test.cxx | |
parent | Merge pull request #48 from pavel-belikov/fix-multiple-inclusion (diff) | |
parent | fix usage line wrapping (diff) | |
download | args.hxx-9ae38139a67c9187d85e06cdcce92196a3ff6de7.tar.xz |
Merge pull request #51 from pavel-belikov/fix-usage-wrapping
Fix usage line wrapping
Diffstat (limited to 'test.cxx')
-rw-r--r-- | test.cxx | 46 |
1 files changed, 45 insertions, 1 deletions
@@ -958,6 +958,50 @@ TEST_CASE("GetProgramLine works as expected", "[args]") REQUIRE(line(b) == "b -f <STRING> [positional]"); } +TEST_CASE("Program line wrapping works as expected", "[args]") +{ + args::ArgumentParser p("parser"); + args::ValueFlag<std::string> f(p, "foo_name", "f", {"foo"}); + args::ValueFlag<std::string> g(p, "bar_name", "b", {"bar"}); + args::ValueFlag<std::string> z(p, "baz_name", "z", {"baz"}); + + p.helpParams.proglineShowFlags = true; + p.helpParams.width = 42; + p.Prog("parser"); + p.ProglinePostfix("\na\nliiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiine line2 line2tail"); + + REQUIRE((p.GetProgramLine(p.helpParams) == std::vector<std::string>{ + "[--foo <foo_name>]", + "[--bar <bar_name>]", + "[--baz <baz_name>]", + "\n", + "a", + "\n", + "liiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiine", + "line2", + "line2tail", + })); + + std::ostringstream s; + s << p; + REQUIRE(s.str() == R"( parser [--foo <foo_name>] + [--bar <bar_name>] + [--baz <baz_name>] + a + liiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiine + line2 line2tail + + parser + + OPTIONS: + + --foo=[foo_name] f + --bar=[bar_name] b + --baz=[baz_name] z + +)"); +} + TEST_CASE("Matcher validation works as expected", "[args]") { args::ArgumentParser parser("Test command"); @@ -984,7 +1028,7 @@ TEST_CASE("HelpParams work as expected", "[args]") )"); - p.helpParams.usageString = "usage: "; + p.helpParams.usageString = "usage:"; p.helpParams.optionsString = "Options"; p.helpParams.useValueNameOnce = true; REQUIRE(p.Help() == R"( usage: prog {OPTIONS} |