mirror of
https://github.com/clap-rs/clap
synced 2024-12-14 23:02:31 +00:00
36 lines
1 KiB
Rust
36 lines
1 KiB
Rust
|
#![cfg(feature = "unstable-dynamic")]
|
||
|
|
||
|
#[test]
|
||
|
fn suggest_additional_short_flags() {
|
||
|
let name = "test";
|
||
|
let mut cmd = clap::Command::new(name)
|
||
|
.arg(clap::Arg::new("a").short('a').multiple_occurrences(true))
|
||
|
.arg(clap::Arg::new("b").short('b').multiple_occurrences(true))
|
||
|
.arg(clap::Arg::new("c").short('c').multiple_occurrences(true));
|
||
|
|
||
|
let args = [name, "-a"];
|
||
|
let arg_index = 1;
|
||
|
let args = IntoIterator::into_iter(args)
|
||
|
.map(|s| std::ffi::OsString::from(s))
|
||
|
.collect::<Vec<_>>();
|
||
|
let comp_type = clap_complete::dynamic::bash::CompType::default();
|
||
|
let trailing_space = true;
|
||
|
let current_dir = None;
|
||
|
|
||
|
let completions = clap_complete::dynamic::bash::complete(
|
||
|
&mut cmd,
|
||
|
args,
|
||
|
arg_index,
|
||
|
comp_type,
|
||
|
trailing_space,
|
||
|
current_dir,
|
||
|
)
|
||
|
.unwrap();
|
||
|
let completions = completions
|
||
|
.into_iter()
|
||
|
.map(|s| s.to_string_lossy().into_owned())
|
||
|
.collect::<Vec<_>>();
|
||
|
|
||
|
assert_eq!(completions, ["-ah", "-aa", "-ab", "-ac"]);
|
||
|
}
|