From 65beaeb2e926d7fb363ecfba006315437813fc8b Mon Sep 17 00:00:00 2001 From: Jarryd Beck Date: Fri, 27 Oct 2017 08:47:08 +1100 Subject: [PATCH] test that fails --- test/options.cpp | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+), 0 deletions(-) diff --git a/test/options.cpp b/test/options.cpp index e78fffe..cc06389 100644 --- a/test/options.cpp +++ b/test/options.cpp @@ -219,6 +219,36 @@ TEST_CASE("Empty with implicit value", "[implicit]") REQUIRE(result["implicit"].as() == ""); } +TEST_CASE("Default values", "[default]") +{ + cxxopts::Options options("defaults", "has defaults"); + options.add_options() + ("default", "Has implicit", cxxopts::value() + ->default_value("42")); + + SECTION("Sets defaults") { + Argv av({"implicit"}); + + char** argv = av.argv(); + auto argc = av.argc(); + + auto result = options.parse(argc, argv); + CHECK(result.count("default") == 1); + CHECK(result["default"].as() == 42); + } + + SECTION("When values provided") { + Argv av({"implicit", "default", "5"}); + + char** argv = av.argv(); + auto argc = av.argc(); + + auto result = options.parse(argc, argv); + CHECK(result.count("default") == 1); + CHECK(result["default"].as() == 5); + } +} + TEST_CASE("Parse into a reference", "[reference]") { int value = 0; -- libgit2 0.21.4