Commit bd4dc911847d0cde7a6b41dfa626a85aab213baf

Authored by Henry Fredrick Schreiner
1 parent afa7a456

add extra test

include/CLI/App.hpp
@@ -1389,7 +1389,7 @@ class App { @@ -1389,7 +1389,7 @@ class App {
1389 } 1389 }
1390 } 1390 }
1391 1391
1392 - /// Return True if a help flag detected (checks all parents) 1392 + /// Return True if a help flag detected (checks all parents) (only run if help called before subcommand)
1393 bool _any_help_flag() const { 1393 bool _any_help_flag() const {
1394 bool result = false; 1394 bool result = false;
1395 const Option *help_ptr = get_help_ptr(); 1395 const Option *help_ptr = get_help_ptr();
tests/SubcommandTest.cpp
@@ -438,6 +438,8 @@ struct SubcommandProgram : public TApp { @@ -438,6 +438,8 @@ struct SubcommandProgram : public TApp {
438 int count; 438 int count;
439 439
440 SubcommandProgram() { 440 SubcommandProgram() {
  441 + app.set_help_all_flag("--help-all");
  442 +
441 start = app.add_subcommand("start", "Start prog"); 443 start = app.add_subcommand("start", "Start prog");
442 stop = app.add_subcommand("stop", "Stop prog"); 444 stop = app.add_subcommand("stop", "Stop prog");
443 445
@@ -541,6 +543,18 @@ TEST_F(SubcommandProgram, HelpOrder) { @@ -541,6 +543,18 @@ TEST_F(SubcommandProgram, HelpOrder) {
541 EXPECT_THROW(run(), CLI::CallForHelp); 543 EXPECT_THROW(run(), CLI::CallForHelp);
542 } 544 }
543 545
  546 +TEST_F(SubcommandProgram, HelpAllOrder) {
  547 +
  548 + args = {"--help-all"};
  549 + EXPECT_THROW(run(), CLI::CallForAllHelp);
  550 +
  551 + args = {"start", "--help-all"};
  552 + EXPECT_THROW(run(), CLI::CallForAllHelp);
  553 +
  554 + args = {"--help-all", "start"};
  555 + EXPECT_THROW(run(), CLI::CallForAllHelp);
  556 +}
  557 +
544 TEST_F(SubcommandProgram, Callbacks) { 558 TEST_F(SubcommandProgram, Callbacks) {
545 559
546 start->callback([]() { throw CLI::Success(); }); 560 start->callback([]() { throw CLI::Success(); });