aboutsummaryrefslogtreecommitdiff
path: root/structopt/tests/explicit_name_no_renaming.rs
blob: eff7a8611820262b07e9b2dfeee7c73b25bbb5f6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
mod utils;

use structopt::StructOpt;
use utils::*;

#[test]
fn explicit_short_long_no_rename() {
    #[derive(StructOpt, PartialEq, Debug)]
    struct Opt {
        #[structopt(short = ".", long = ".foo")]
        foo: Vec<String>,
    }

    assert_eq!(
        Opt {
            foo: vec!["short".into(), "long".into()]
        },
        Opt::from_iter(&["test", "-.", "short", "--.foo", "long"])
    );
}

#[test]
fn explicit_name_no_rename() {
    #[derive(StructOpt, PartialEq, Debug)]
    struct Opt {
        #[structopt(name = ".options")]
        foo: Vec<String>,
    }

    let help = get_long_help::<Opt>();
    assert!(help.contains("[.options]..."))
}