2024-05-04 19:59:40 +00:00
|
|
|
use crate::common;
|
2022-03-07 20:12:59 +00:00
|
|
|
|
|
|
|
#[test]
|
|
|
|
fn basic() {
|
|
|
|
let name = "my-app";
|
|
|
|
let cmd = common::basic_command(name);
|
2024-05-04 19:59:40 +00:00
|
|
|
common::assert_matches(snapbox::file!["../snapshots/basic.bash.roff"], cmd);
|
2022-03-07 20:12:59 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
#[test]
|
|
|
|
fn feature_sample() {
|
|
|
|
let name = "my-app";
|
|
|
|
let cmd = common::feature_sample_command(name);
|
2024-05-04 19:59:40 +00:00
|
|
|
common::assert_matches(snapbox::file!["../snapshots/feature_sample.bash.roff"], cmd);
|
2022-03-07 20:12:59 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
#[test]
|
|
|
|
fn special_commands() {
|
|
|
|
let name = "my-app";
|
|
|
|
let cmd = common::special_commands_command(name);
|
2024-05-04 19:59:40 +00:00
|
|
|
common::assert_matches(
|
|
|
|
snapbox::file!["../snapshots/special_commands.bash.roff"],
|
|
|
|
cmd,
|
|
|
|
);
|
2022-03-07 20:12:59 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
#[test]
|
|
|
|
fn quoting() {
|
|
|
|
let name = "my-app";
|
|
|
|
let cmd = common::quoting_command(name);
|
2024-05-04 19:59:40 +00:00
|
|
|
common::assert_matches(snapbox::file!["../snapshots/quoting.bash.roff"], cmd);
|
2022-03-07 20:12:59 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
#[test]
|
|
|
|
fn aliases() {
|
|
|
|
let name = "my-app";
|
|
|
|
let cmd = common::aliases_command(name);
|
2024-05-04 19:59:40 +00:00
|
|
|
common::assert_matches(snapbox::file!["../snapshots/aliases.bash.roff"], cmd);
|
2022-03-07 20:12:59 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
#[test]
|
|
|
|
fn sub_subcommands() {
|
|
|
|
let name = "my-app";
|
|
|
|
let cmd = common::sub_subcommands_command(name);
|
2024-05-04 19:59:40 +00:00
|
|
|
common::assert_matches(
|
|
|
|
snapbox::file!["../snapshots/sub_subcommands.bash.roff"],
|
|
|
|
cmd,
|
|
|
|
);
|
2022-03-07 20:12:59 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
#[test]
|
|
|
|
fn value_hint() {
|
|
|
|
let name = "my-app";
|
|
|
|
let cmd = common::value_hint_command(name);
|
2024-05-04 19:59:40 +00:00
|
|
|
common::assert_matches(snapbox::file!["../snapshots/value_hint.bash.roff"], cmd);
|
2022-03-07 20:12:59 +00:00
|
|
|
}
|
2022-04-02 23:28:19 +00:00
|
|
|
|
|
|
|
#[test]
|
|
|
|
fn hidden_options() {
|
|
|
|
let name = "my-app";
|
|
|
|
let cmd = common::hidden_option_command(name);
|
2024-05-04 19:59:40 +00:00
|
|
|
common::assert_matches(snapbox::file!["../snapshots/hidden_option.bash.roff"], cmd);
|
2022-04-02 23:28:19 +00:00
|
|
|
}
|
2022-04-20 13:50:11 +00:00
|
|
|
|
|
|
|
#[test]
|
|
|
|
fn value_env() {
|
|
|
|
let name = "my-app";
|
|
|
|
let cmd = common::env_value_command(name);
|
2024-05-04 19:59:40 +00:00
|
|
|
common::assert_matches(snapbox::file!["../snapshots/value_env.bash.roff"], cmd);
|
2022-04-20 13:50:11 +00:00
|
|
|
}
|
2022-08-23 18:38:57 +00:00
|
|
|
|
|
|
|
#[test]
|
|
|
|
fn possible_values() {
|
|
|
|
let name = "my-app";
|
|
|
|
let cmd = common::possible_values_command(name);
|
2024-05-04 19:59:40 +00:00
|
|
|
common::assert_matches(
|
|
|
|
snapbox::file!["../snapshots/possible_values.bash.roff"],
|
|
|
|
cmd,
|
|
|
|
);
|
2022-08-23 18:38:57 +00:00
|
|
|
}
|
2022-09-29 17:37:28 +00:00
|
|
|
|
|
|
|
#[test]
|
|
|
|
fn sub_subcommands_help() {
|
|
|
|
let name = "my-app";
|
|
|
|
let mut cmd = common::sub_subcommands_command(name);
|
|
|
|
cmd.build();
|
|
|
|
let cmd = cmd
|
|
|
|
.get_subcommands()
|
|
|
|
.find(|cmd| cmd.get_display_name() == Some("my-app-help"));
|
|
|
|
assert!(cmd.is_some(), "help subcommand not found in command");
|
|
|
|
if let Some(cmd) = cmd {
|
2024-02-14 22:44:57 +00:00
|
|
|
common::assert_matches(
|
2024-05-04 19:59:40 +00:00
|
|
|
snapbox::file!["../snapshots/sub_subcommand_help.roff"],
|
2024-02-14 22:44:57 +00:00
|
|
|
cmd.clone(),
|
|
|
|
);
|
2022-09-29 17:37:28 +00:00
|
|
|
}
|
|
|
|
}
|
2023-01-16 15:44:24 +00:00
|
|
|
|
|
|
|
#[test]
|
|
|
|
fn value_name_without_arg() {
|
|
|
|
let name = "my-app";
|
|
|
|
let cmd = common::value_name_without_arg(name);
|
2024-02-14 22:44:57 +00:00
|
|
|
common::assert_matches(
|
2024-05-04 19:59:40 +00:00
|
|
|
snapbox::file!["../snapshots/value_name_without_arg.bash.roff"],
|
2024-02-14 22:44:57 +00:00
|
|
|
cmd,
|
|
|
|
);
|
2023-01-16 15:44:24 +00:00
|
|
|
}
|