diff --git a/tests/validators.rs b/tests/validators.rs index 8914eefc38f6..3968de0160f7 100644 --- a/tests/validators.rs +++ b/tests/validators.rs @@ -36,3 +36,17 @@ fn test_validator_msg_newline() { let msg = format!("{}", err); assert!(msg.ends_with('\n')); } + +#[test] +fn stateful_validator() { + let mut state = false; + App::new("test") + .arg(Arg::new("test").validator(|val| { + state = true; + val.parse::().map_err(|e| e.to_string()) + })) + .try_get_matches_from(&["app", "10"]) + .unwrap(); + + assert!(state); +}