119625d8cSopenharmony_cimod common;
219625d8cSopenharmony_ci
319625d8cSopenharmony_ci#[test]
419625d8cSopenharmony_cifn basic() {
519625d8cSopenharmony_ci    let name = "my-app";
619625d8cSopenharmony_ci    let cmd = common::basic_command(name);
719625d8cSopenharmony_ci    common::assert_matches_path("tests/snapshots/basic.bash.roff", cmd);
819625d8cSopenharmony_ci}
919625d8cSopenharmony_ci
1019625d8cSopenharmony_ci#[test]
1119625d8cSopenharmony_cifn feature_sample() {
1219625d8cSopenharmony_ci    let name = "my-app";
1319625d8cSopenharmony_ci    let cmd = common::feature_sample_command(name);
1419625d8cSopenharmony_ci    common::assert_matches_path("tests/snapshots/feature_sample.bash.roff", cmd);
1519625d8cSopenharmony_ci}
1619625d8cSopenharmony_ci
1719625d8cSopenharmony_ci#[test]
1819625d8cSopenharmony_cifn special_commands() {
1919625d8cSopenharmony_ci    let name = "my-app";
2019625d8cSopenharmony_ci    let cmd = common::special_commands_command(name);
2119625d8cSopenharmony_ci    common::assert_matches_path("tests/snapshots/special_commands.bash.roff", cmd);
2219625d8cSopenharmony_ci}
2319625d8cSopenharmony_ci
2419625d8cSopenharmony_ci#[test]
2519625d8cSopenharmony_cifn quoting() {
2619625d8cSopenharmony_ci    let name = "my-app";
2719625d8cSopenharmony_ci    let cmd = common::quoting_command(name);
2819625d8cSopenharmony_ci    common::assert_matches_path("tests/snapshots/quoting.bash.roff", cmd);
2919625d8cSopenharmony_ci}
3019625d8cSopenharmony_ci
3119625d8cSopenharmony_ci#[test]
3219625d8cSopenharmony_cifn aliases() {
3319625d8cSopenharmony_ci    let name = "my-app";
3419625d8cSopenharmony_ci    let cmd = common::aliases_command(name);
3519625d8cSopenharmony_ci    common::assert_matches_path("tests/snapshots/aliases.bash.roff", cmd);
3619625d8cSopenharmony_ci}
3719625d8cSopenharmony_ci
3819625d8cSopenharmony_ci#[test]
3919625d8cSopenharmony_cifn sub_subcommands() {
4019625d8cSopenharmony_ci    let name = "my-app";
4119625d8cSopenharmony_ci    let cmd = common::sub_subcommands_command(name);
4219625d8cSopenharmony_ci    common::assert_matches_path("tests/snapshots/sub_subcommands.bash.roff", cmd);
4319625d8cSopenharmony_ci}
4419625d8cSopenharmony_ci
4519625d8cSopenharmony_ci#[test]
4619625d8cSopenharmony_cifn value_hint() {
4719625d8cSopenharmony_ci    let name = "my-app";
4819625d8cSopenharmony_ci    let cmd = common::value_hint_command(name);
4919625d8cSopenharmony_ci    common::assert_matches_path("tests/snapshots/value_hint.bash.roff", cmd);
5019625d8cSopenharmony_ci}
5119625d8cSopenharmony_ci
5219625d8cSopenharmony_ci#[test]
5319625d8cSopenharmony_cifn hidden_options() {
5419625d8cSopenharmony_ci    let name = "my-app";
5519625d8cSopenharmony_ci    let cmd = common::hidden_option_command(name);
5619625d8cSopenharmony_ci    common::assert_matches_path("tests/snapshots/hidden_option.bash.roff", cmd);
5719625d8cSopenharmony_ci}
5819625d8cSopenharmony_ci
5919625d8cSopenharmony_ci#[test]
6019625d8cSopenharmony_cifn value_env() {
6119625d8cSopenharmony_ci    let name = "my-app";
6219625d8cSopenharmony_ci    let cmd = common::env_value_command(name);
6319625d8cSopenharmony_ci    common::assert_matches_path("tests/snapshots/value_env.bash.roff", cmd);
6419625d8cSopenharmony_ci}
6519625d8cSopenharmony_ci
6619625d8cSopenharmony_ci#[test]
6719625d8cSopenharmony_cifn possible_values() {
6819625d8cSopenharmony_ci    let name = "my-app";
6919625d8cSopenharmony_ci    let cmd = common::possible_values_command(name);
7019625d8cSopenharmony_ci    common::assert_matches_path("tests/snapshots/possible_values.bash.roff", cmd);
7119625d8cSopenharmony_ci}
7219625d8cSopenharmony_ci
7319625d8cSopenharmony_ci#[test]
7419625d8cSopenharmony_cifn sub_subcommands_help() {
7519625d8cSopenharmony_ci    let name = "my-app";
7619625d8cSopenharmony_ci    let mut cmd = common::sub_subcommands_command(name);
7719625d8cSopenharmony_ci    cmd.build();
7819625d8cSopenharmony_ci    let cmd = cmd
7919625d8cSopenharmony_ci        .get_subcommands()
8019625d8cSopenharmony_ci        .find(|cmd| cmd.get_display_name() == Some("my-app-help"));
8119625d8cSopenharmony_ci    assert!(cmd.is_some(), "help subcommand not found in command");
8219625d8cSopenharmony_ci    if let Some(cmd) = cmd {
8319625d8cSopenharmony_ci        common::assert_matches_path("tests/snapshots/sub_subcommand_help.roff", cmd.clone());
8419625d8cSopenharmony_ci    }
8519625d8cSopenharmony_ci}
8619625d8cSopenharmony_ci
8719625d8cSopenharmony_ci#[test]
8819625d8cSopenharmony_cifn value_name_without_arg() {
8919625d8cSopenharmony_ci    let name = "my-app";
9019625d8cSopenharmony_ci    let cmd = common::value_name_without_arg(name);
9119625d8cSopenharmony_ci    common::assert_matches_path("tests/snapshots/value_name_without_arg.bash.roff", cmd);
9219625d8cSopenharmony_ci}
93