From a1fa5848e2d377cf9c0e34f613cae504bda3ede8 Mon Sep 17 00:00:00 2001 From: RonxBulld <526677628@qq.com> Date: Wed, 5 May 2021 17:29:53 +0800 Subject: [PATCH] Add test: parameter follow option without space. --- test/options.cpp | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/test/options.cpp b/test/options.cpp index 8bc6f49..75fea46 100644 --- a/test/options.cpp +++ b/test/options.cpp @@ -779,3 +779,28 @@ TEST_CASE("Const array", "[const]") { cxxopts::Options options("Empty options", " - test constness"); auto result = options.parse(2, option_list); } + +TEST_CASE("Parameter follow option", "[parameter]") { + cxxopts::Options options("param_follow_opt", " - test parameter follow option without space."); + options.add_options() + ("j,job", "Job", cxxopts::value>()); + Argv av({"implicit", + "-j", "9", + "--job", "7", + "--job=10", + "-j5", + }); + + auto ** argv = av.argv(); + auto argc = av.argc(); + + auto result = options.parse(argc, argv); + + REQUIRE(result.count("job") == 4); + + auto job_values = result["job"].as>(); + CHECK(job_values[0] == 9); + CHECK(job_values[1] == 7); + CHECK(job_values[2] == 10); + CHECK(job_values[3] == 5); +}