From 34d613b02b69fdb1c66eb61184c6f660d98ff95d Mon Sep 17 00:00:00 2001 From: Pavel Belikov Date: Thu, 9 Nov 2017 21:31:58 +0300 Subject: change default value of RequireCommand --- test.cxx | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) (limited to 'test.cxx') diff --git a/test.cxx b/test.cxx index 0bb58d2..ba4d5f8 100644 --- a/test.cxx +++ b/test.cxx @@ -770,6 +770,7 @@ TEST_CASE("Subparser help works as expected", "[args]") }); p.Prog("git"); + p.RequireCommand(false); std::ostringstream s; @@ -877,15 +878,12 @@ TEST_CASE("Subparser validation works as expected", "[args]") args::Command c(p, "c", "command c", [](args::Subparser&){}); - REQUIRE_NOTHROW(p.ParseArgs(std::vector{})); + REQUIRE_THROWS_AS(p.ParseArgs(std::vector{}), args::ValidationError); REQUIRE_THROWS_AS(p.ParseArgs(std::vector{"a"}), args::RequiredError); REQUIRE_NOTHROW(p.ParseArgs(std::vector{"a", "-f", "F"})); REQUIRE_THROWS_AS(p.ParseArgs(std::vector{"b"}), args::RequiredError); REQUIRE_NOTHROW(p.ParseArgs(std::vector{"b", "-f", "F"})); - p.RequireCommand(true); - REQUIRE_THROWS_AS(p.ParseArgs(std::vector{}), args::ValidationError); - p.RequireCommand(false); REQUIRE_NOTHROW(p.ParseArgs(std::vector{})); @@ -904,6 +902,8 @@ TEST_CASE("Global options work as expected", "[args]") args::Command a(p, "a", "command a"); args::Command b(p, "b", "command b"); + p.RequireCommand(false); + REQUIRE_NOTHROW(p.ParseArgs(std::vector{"-f"})); REQUIRE_NOTHROW(p.ParseArgs(std::vector{"a", "-f"})); REQUIRE_NOTHROW(p.ParseArgs(std::vector{"b", "-f"})); @@ -1012,7 +1012,7 @@ TEST_CASE("Subparser validation works as expected in noexcept mode", "[args]") argstest::Command c(p, "c", "command c", [](argstest::Subparser&){}); p.ParseArgs(std::vector{}); - REQUIRE(p.GetError() == argstest::Error::None); + REQUIRE(p.GetError() == argstest::Error::Validation); p.ParseArgs(std::vector{"a"}); REQUIRE((size_t)p.GetError() == (size_t)argstest::Error::Required); @@ -1026,10 +1026,6 @@ TEST_CASE("Subparser validation works as expected in noexcept mode", "[args]") p.ParseArgs(std::vector{"b", "-f", "F"}); REQUIRE(p.GetError() == argstest::Error::None); - p.RequireCommand(true); - p.ParseArgs(std::vector{}); - REQUIRE(p.GetError() == argstest::Error::Validation); - p.RequireCommand(false); p.ParseArgs(std::vector{}); REQUIRE(p.GetError() == argstest::Error::None); @@ -1046,3 +1042,4 @@ TEST_CASE("Nargs work as expected in noexcept mode", "[args]") parser.ParseArgs(std::vector{"-a", "1", "2"}); REQUIRE(parser.GetError() == argstest::Error::Usage); } + -- cgit v1.2.1