From cca5472def3b548ad7de11c6e988ba709062a76c Mon Sep 17 00:00:00 2001 From: Jarryd Beck Date: Wed, 17 May 2017 07:38:30 +1000 Subject: [PATCH] failing test --- test/options.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/test/options.cpp b/test/options.cpp index 6aea0da..316724b 100644 --- a/test/options.cpp +++ b/test/options.cpp @@ -175,3 +175,21 @@ TEST_CASE("No positional with extras", "[positional]") CHECK(argv[0] == std::string("extras")); CHECK(argv[1] == std::string("a")); } + +TEST_CASE("Empty with implicit value", "[implicit]") +{ + cxxopts::Options options("empty_implicit", "doesn't handle empty"); + options.add_options() + ("implicit", "Has implicit", cxxopts::value() + ->implicit_value("foo")); + + Argv av({"implicit", "--implicit", ""}); + + char** argv = av.argv(); + auto argc = av.argc(); + + options.parse(argc, argv); + + REQUIRE(options.count("implicit") == 1); + REQUIRE(options["implicit"].as() == ""); +}