mirror of
https://github.com/clap-rs/clap
synced 2024-11-14 16:47:21 +00:00
Merge pull request #4525 from epage/source
test(parser): Verify value_source
This commit is contained in:
commit
d95d371e74
2 changed files with 38 additions and 0 deletions
|
@ -17,6 +17,10 @@ fn opts() {
|
||||||
assert!(r.is_ok(), "{}", r.unwrap_err());
|
assert!(r.is_ok(), "{}", r.unwrap_err());
|
||||||
let m = r.unwrap();
|
let m = r.unwrap();
|
||||||
assert!(m.contains_id("o"));
|
assert!(m.contains_id("o"));
|
||||||
|
assert_eq!(
|
||||||
|
m.value_source("o").unwrap(),
|
||||||
|
clap::parser::ValueSource::DefaultValue
|
||||||
|
);
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
m.get_one::<String>("o").map(|v| v.as_str()).unwrap(),
|
m.get_one::<String>("o").map(|v| v.as_str()).unwrap(),
|
||||||
"default"
|
"default"
|
||||||
|
@ -59,6 +63,10 @@ fn opt_user_override() {
|
||||||
assert!(r.is_ok(), "{}", r.unwrap_err());
|
assert!(r.is_ok(), "{}", r.unwrap_err());
|
||||||
let m = r.unwrap();
|
let m = r.unwrap();
|
||||||
assert!(m.contains_id("opt"));
|
assert!(m.contains_id("opt"));
|
||||||
|
assert_eq!(
|
||||||
|
m.value_source("opt").unwrap(),
|
||||||
|
clap::parser::ValueSource::CommandLine
|
||||||
|
);
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
m.get_one::<String>("opt").map(|v| v.as_str()).unwrap(),
|
m.get_one::<String>("opt").map(|v| v.as_str()).unwrap(),
|
||||||
"value"
|
"value"
|
||||||
|
@ -73,6 +81,10 @@ fn positionals() {
|
||||||
assert!(r.is_ok(), "{}", r.unwrap_err());
|
assert!(r.is_ok(), "{}", r.unwrap_err());
|
||||||
let m = r.unwrap();
|
let m = r.unwrap();
|
||||||
assert!(m.contains_id("arg"));
|
assert!(m.contains_id("arg"));
|
||||||
|
assert_eq!(
|
||||||
|
m.value_source("arg").unwrap(),
|
||||||
|
clap::parser::ValueSource::DefaultValue
|
||||||
|
);
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
m.get_one::<String>("arg").map(|v| v.as_str()).unwrap(),
|
m.get_one::<String>("arg").map(|v| v.as_str()).unwrap(),
|
||||||
"default"
|
"default"
|
||||||
|
@ -87,6 +99,10 @@ fn positional_user_override() {
|
||||||
assert!(r.is_ok(), "{}", r.unwrap_err());
|
assert!(r.is_ok(), "{}", r.unwrap_err());
|
||||||
let m = r.unwrap();
|
let m = r.unwrap();
|
||||||
assert!(m.contains_id("arg"));
|
assert!(m.contains_id("arg"));
|
||||||
|
assert_eq!(
|
||||||
|
m.value_source("arg").unwrap(),
|
||||||
|
clap::parser::ValueSource::CommandLine
|
||||||
|
);
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
m.get_one::<String>("arg").map(|v| v.as_str()).unwrap(),
|
m.get_one::<String>("arg").map(|v| v.as_str()).unwrap(),
|
||||||
"value"
|
"value"
|
||||||
|
|
|
@ -20,6 +20,10 @@ fn env() {
|
||||||
assert!(r.is_ok(), "{}", r.unwrap_err());
|
assert!(r.is_ok(), "{}", r.unwrap_err());
|
||||||
let m = r.unwrap();
|
let m = r.unwrap();
|
||||||
assert!(m.contains_id("arg"));
|
assert!(m.contains_id("arg"));
|
||||||
|
assert_eq!(
|
||||||
|
m.value_source("arg").unwrap(),
|
||||||
|
clap::parser::ValueSource::EnvVariable
|
||||||
|
);
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
m.get_one::<String>("arg").map(|v| v.as_str()).unwrap(),
|
m.get_one::<String>("arg").map(|v| v.as_str()).unwrap(),
|
||||||
"env"
|
"env"
|
||||||
|
@ -100,6 +104,7 @@ fn no_env() {
|
||||||
assert!(r.is_ok(), "{}", r.unwrap_err());
|
assert!(r.is_ok(), "{}", r.unwrap_err());
|
||||||
let m = r.unwrap();
|
let m = r.unwrap();
|
||||||
assert!(!m.contains_id("arg"));
|
assert!(!m.contains_id("arg"));
|
||||||
|
assert_eq!(m.value_source("arg"), None);
|
||||||
assert_eq!(m.get_one::<String>("arg").map(|v| v.as_str()), None);
|
assert_eq!(m.get_one::<String>("arg").map(|v| v.as_str()), None);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -116,6 +121,7 @@ fn no_env_no_takes_value() {
|
||||||
assert!(r.is_ok(), "{}", r.unwrap_err());
|
assert!(r.is_ok(), "{}", r.unwrap_err());
|
||||||
let m = r.unwrap();
|
let m = r.unwrap();
|
||||||
assert!(!m.contains_id("arg"));
|
assert!(!m.contains_id("arg"));
|
||||||
|
assert_eq!(m.value_source("arg"), None);
|
||||||
assert_eq!(m.get_one::<String>("arg").map(|v| v.as_str()), None);
|
assert_eq!(m.get_one::<String>("arg").map(|v| v.as_str()), None);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -135,6 +141,10 @@ fn with_default() {
|
||||||
assert!(r.is_ok(), "{}", r.unwrap_err());
|
assert!(r.is_ok(), "{}", r.unwrap_err());
|
||||||
let m = r.unwrap();
|
let m = r.unwrap();
|
||||||
assert!(m.contains_id("arg"));
|
assert!(m.contains_id("arg"));
|
||||||
|
assert_eq!(
|
||||||
|
m.value_source("arg").unwrap(),
|
||||||
|
clap::parser::ValueSource::EnvVariable
|
||||||
|
);
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
m.get_one::<String>("arg").map(|v| v.as_str()).unwrap(),
|
m.get_one::<String>("arg").map(|v| v.as_str()).unwrap(),
|
||||||
"env"
|
"env"
|
||||||
|
@ -156,6 +166,10 @@ fn opt_user_override() {
|
||||||
assert!(r.is_ok(), "{}", r.unwrap_err());
|
assert!(r.is_ok(), "{}", r.unwrap_err());
|
||||||
let m = r.unwrap();
|
let m = r.unwrap();
|
||||||
assert!(m.contains_id("arg"));
|
assert!(m.contains_id("arg"));
|
||||||
|
assert_eq!(
|
||||||
|
m.value_source("arg").unwrap(),
|
||||||
|
clap::parser::ValueSource::CommandLine
|
||||||
|
);
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
m.get_one::<String>("arg").map(|v| v.as_str()).unwrap(),
|
m.get_one::<String>("arg").map(|v| v.as_str()).unwrap(),
|
||||||
"opt"
|
"opt"
|
||||||
|
@ -185,6 +199,10 @@ fn positionals() {
|
||||||
assert!(r.is_ok(), "{}", r.unwrap_err());
|
assert!(r.is_ok(), "{}", r.unwrap_err());
|
||||||
let m = r.unwrap();
|
let m = r.unwrap();
|
||||||
assert!(m.contains_id("arg"));
|
assert!(m.contains_id("arg"));
|
||||||
|
assert_eq!(
|
||||||
|
m.value_source("arg").unwrap(),
|
||||||
|
clap::parser::ValueSource::EnvVariable
|
||||||
|
);
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
m.get_one::<String>("arg").map(|v| v.as_str()).unwrap(),
|
m.get_one::<String>("arg").map(|v| v.as_str()).unwrap(),
|
||||||
"env"
|
"env"
|
||||||
|
@ -206,6 +224,10 @@ fn positionals_user_override() {
|
||||||
assert!(r.is_ok(), "{}", r.unwrap_err());
|
assert!(r.is_ok(), "{}", r.unwrap_err());
|
||||||
let m = r.unwrap();
|
let m = r.unwrap();
|
||||||
assert!(m.contains_id("arg"));
|
assert!(m.contains_id("arg"));
|
||||||
|
assert_eq!(
|
||||||
|
m.value_source("arg").unwrap(),
|
||||||
|
clap::parser::ValueSource::CommandLine
|
||||||
|
);
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
m.get_one::<String>("arg").map(|v| v.as_str()).unwrap(),
|
m.get_one::<String>("arg").map(|v| v.as_str()).unwrap(),
|
||||||
"opt"
|
"opt"
|
||||||
|
|
Loading…
Reference in a new issue