From 540a5384b4595f985191bd0b8959e8e6d39b10c8 Mon Sep 17 00:00:00 2001 From: 0xadk <0xadk@users.noreply.github.com> Date: Sun, 22 Dec 2024 09:44:36 -0800 Subject: [PATCH] test(mangen): Show `help_heading` is ignored --- .../tests/snapshots/help_headings.bash.roff | 23 ++++++++++++++ clap_mangen/tests/testsuite/common.rs | 31 +++++++++++++++++++ clap_mangen/tests/testsuite/roff.rs | 7 +++++ 3 files changed, 61 insertions(+) create mode 100644 clap_mangen/tests/snapshots/help_headings.bash.roff diff --git a/clap_mangen/tests/snapshots/help_headings.bash.roff b/clap_mangen/tests/snapshots/help_headings.bash.roff new file mode 100644 index 00000000000..250d8b3aca1 --- /dev/null +++ b/clap_mangen/tests/snapshots/help_headings.bash.roff @@ -0,0 +1,23 @@ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.TH my-app 1 "my-app " +.SH NAME +my\-app +.SH SYNOPSIS +\fBmy\-app\fR [\fB\-r\fR|\fB\-\-recursive\fR] [\fB\-f\fR|\fB\-\-force\fR] [\fB\-h\fR|\fB\-\-help\fR] [\fIcolor\fR] +.SH DESCRIPTION +.SH OPTIONS +.TP +\fB\-r\fR, \fB\-\-recursive\fR + +.TP +\fB\-f\fR, \fB\-\-force\fR + +.TP +\fB\-h\fR, \fB\-\-help\fR +Print help +.TP +[\fIcolor\fR] + +.br +[\fIpossible values: \fRalways, never, auto] diff --git a/clap_mangen/tests/testsuite/common.rs b/clap_mangen/tests/testsuite/common.rs index fcb20cd8f33..e4ed80c535b 100644 --- a/clap_mangen/tests/testsuite/common.rs +++ b/clap_mangen/tests/testsuite/common.rs @@ -323,3 +323,34 @@ pub(crate) fn value_name_without_arg(name: &'static str) -> clap::Command { .action(clap::ArgAction::SetTrue), ) } + +pub(crate) fn help_headings(name: &'static str) -> clap::Command { + clap::Command::new(name) + .arg( + clap::Arg::new("recursive") + .long("recursive") + .short('r') + .action(clap::ArgAction::SetTrue), + ) + .next_help_heading("Conflict Options") + .arg( + clap::Arg::new("force") + .long("force") + .short('f') + .action(clap::ArgAction::SetTrue), + ) + .next_help_heading("Hidden Options") + .arg( + clap::Arg::new("debug") + .long("debug") + .short('d') + .hide(true) + .action(clap::ArgAction::SetTrue), + ) + .next_help_heading("Global Options") + .arg( + clap::Arg::new("color") + .global(true) + .value_parser(["always", "never", "auto"]), + ) +} diff --git a/clap_mangen/tests/testsuite/roff.rs b/clap_mangen/tests/testsuite/roff.rs index 9f3f4ee660e..6adfcd238fc 100644 --- a/clap_mangen/tests/testsuite/roff.rs +++ b/clap_mangen/tests/testsuite/roff.rs @@ -96,6 +96,13 @@ fn sub_subcommands_help() { } } +#[test] +fn help_headings() { + let name = "my-app"; + let cmd = common::help_headings(name); + common::assert_matches(snapbox::file!["../snapshots/help_headings.bash.roff"], cmd); +} + #[test] fn value_name_without_arg() { let name = "my-app";