diff --git a/.gitignore b/.gitignore index 90d78264..70a10341 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ a.out* +*.swp /*build* diff --git a/include/CLI/App.hpp b/include/CLI/App.hpp index 6796046c..307b1783 100644 --- a/include/CLI/App.hpp +++ b/include/CLI/App.hpp @@ -394,7 +394,7 @@ public: opt->typeval_ = detail::type_name(); opt->typeval_ += " in {" + detail::join(options) + "}"; if(defaulted) { - opt->defaultval_ = detail::to_lower(member); + opt->defaultval_ = member; } return opt; } diff --git a/tests/HelpTest.cpp b/tests/HelpTest.cpp index 84f9c9c2..2ee1117a 100644 --- a/tests/HelpTest.cpp +++ b/tests/HelpTest.cpp @@ -140,3 +140,36 @@ TEST(THelp, Subcom) { EXPECT_THAT(help, HasSubstr("Usage: program [OPTIONS] SUBCOMMAND")); } + +TEST(THelp, IntDefaults) { + CLI::App app{"My prog"}; + + int one{1}, two{2}; + app.add_option("--one", one, "Help for one", true); + app.add_set("--set", two, {2,3,4}, "Help for set", true); + + std::string help = app.help(); + + EXPECT_THAT(help, HasSubstr("--one")); + EXPECT_THAT(help, HasSubstr("--set")); + EXPECT_THAT(help, HasSubstr("1")); + EXPECT_THAT(help, HasSubstr("=2")); + EXPECT_THAT(help, HasSubstr("2,3,4")); + +} + +TEST(THelp, SetLower) { + CLI::App app{"My prog"}; + + std::string def{"One"}; + app.add_set_ignore_case("--set",def, {"oNe", "twO", "THREE"}, "Help for set", true); + + std::string help = app.help(); + + EXPECT_THAT(help, HasSubstr("--set")); + EXPECT_THAT(help, HasSubstr("=One")); + EXPECT_THAT(help, HasSubstr("oNe")); + EXPECT_THAT(help, HasSubstr("twO")); + EXPECT_THAT(help, HasSubstr("THREE")); + +}