tests: adds tests for stdin char and only positional vals follow

This commit is contained in:
Kevin K 2016-02-04 01:34:46 -05:00
parent 8bcbce27f7
commit a33e3df8f5
2 changed files with 25 additions and 1 deletions

View file

@ -2,6 +2,17 @@ extern crate clap;
use clap::{App, Arg};
#[test]
fn stdin_char() {
let r = App::new("opts")
.arg( Arg::from_usage("-f [flag] 'some flag'") )
.get_matches_from_safe(vec!["", "-f", "-"]);
assert!(r.is_ok());
let m = r.unwrap();
assert!(m.is_present("f"));
assert_eq!(m.value_of("f").unwrap(), "-");
}
#[test]
fn opts_using_short() {
let r = App::new("opts")
@ -24,7 +35,7 @@ fn lots_o_vals() {
.arg(
Arg::from_usage("-o [opt]... 'some opt'"),
)
.get_matches_from_safe(vec!["", "-o",
.get_matches_from_safe(vec!["", "-o",
"some", "some", "some", "some", "some", "some", "some", "some", "some", "some", "some",
"some", "some", "some", "some", "some", "some", "some", "some", "some", "some", "some",
"some", "some", "some", "some", "some", "some", "some", "some", "some", "some", "some",

View file

@ -2,6 +2,19 @@ extern crate clap;
use clap::{App, Arg, ErrorKind};
#[test]
fn only_pos_follow() {
let r = App::new("onlypos")
.args(&[Arg::from_usage("-f [flag] 'some opt'"),
Arg::from_usage("[arg] 'some arg'")])
.get_matches_from_safe(vec!["", "--", "-f"]);
assert!(r.is_ok());
let m = r.unwrap();
assert!(m.is_present("arg"));
assert!(!m.is_present("f"));
assert_eq!(m.value_of("arg").unwrap(), "-f");
}
#[test]
fn positional() {
let m = App::new("positional")