Skip to content

Commit

Permalink
fix(help): Fix yet another --help long help edge case (#4712)
Browse files Browse the repository at this point in the history
  • Loading branch information
not-my-profile authored Feb 15, 2023
1 parent fb9435d commit 8c92ef6
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 3 deletions.
7 changes: 4 additions & 3 deletions src/builder/command.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4597,9 +4597,10 @@ impl Command {
&& (v.get_long_help().is_some()
|| v.is_hide_long_help_set()
|| v.is_hide_short_help_set()
|| v.get_possible_values()
.iter()
.any(PossibleValue::should_show_help))
|| (!v.is_hide_possible_values_set()
&& v.get_possible_values()
.iter()
.any(PossibleValue::should_show_help)))
};

// Subcommands aren't checked because we prefer short help for them, deferring to
Expand Down
23 changes: 23 additions & 0 deletions tests/builder/help.rs
Original file line number Diff line number Diff line change
Expand Up @@ -676,6 +676,29 @@ Options:
utils::assert_output(app, "ctest --help", POS_VALS_HELP, false);
}

#[test]
fn hidden_possible_vals() {
static POS_VALS_HELP: &str = "\
Usage: ctest [pos]
Arguments:
[pos]
Options:
-h, --help Print help
";
let app = Command::new("ctest").arg(
Arg::new("pos")
.hide_possible_values(true)
.value_parser([
PossibleValue::new("fast"),
PossibleValue::new("slow").help("not as fast"),
])
.action(ArgAction::Set),
);
utils::assert_output(app, "ctest --help", POS_VALS_HELP, false);
}

#[test]
#[cfg(feature = "wrap_help")]
fn issue_626_panic() {
Expand Down

0 comments on commit 8c92ef6

Please sign in to comment.