diff options
author | Jarryd Beck <jarro.2783@gmail.com> | 2019-08-08 01:20:55 +0300 |
---|---|---|
committer | Jarryd Beck <jarro.2783@gmail.com> | 2019-08-08 01:21:52 +0300 |
commit | fce82fb0350c5c334c9593800dd55a6c2c797f9e (patch) | |
tree | e3fd6c9612db8c4a336b687085bdeec889c02c17 /test | |
parent | 6e31c227e2fd0677236e1fdf5d6306d9cef256fa (diff) |
Fix duplicate default option
Fixes #197. Don't parse default options twice when there is a short and
long option.
Diffstat (limited to 'test')
-rw-r--r-- | test/options.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/test/options.cpp b/test/options.cpp index 8c3f23d..d110e01 100644 --- a/test/options.cpp +++ b/test/options.cpp @@ -315,8 +315,10 @@ TEST_CASE("Default values", "[default]") { cxxopts::Options options("defaults", "has defaults"); options.add_options() - ("default", "Has implicit", cxxopts::value<int>() - ->default_value("42")); + ("default", "Has implicit", cxxopts::value<int>()->default_value("42")) + ("v,vector", "Default vector", cxxopts::value<std::vector<int>>() + ->default_value("1,4")) + ; SECTION("Sets defaults") { Argv av({"implicit"}); @@ -327,6 +329,11 @@ TEST_CASE("Default values", "[default]") auto result = options.parse(argc, argv); CHECK(result.count("default") == 0); CHECK(result["default"].as<int>() == 42); + + auto& v = result["vector"].as<std::vector<int>>(); + REQUIRE(v.size() == 2); + CHECK(v[0] == 1); + CHECK(v[1] == 4); } SECTION("When values provided") { |