aboutsummaryrefslogtreecommitdiffstats
path: root/validator_derive/tests
diff options
context:
space:
mode:
Diffstat (limited to 'validator_derive/tests')
-rw-r--r--validator_derive/tests/test_derive.rs20
1 files changed, 20 insertions, 0 deletions
diff --git a/validator_derive/tests/test_derive.rs b/validator_derive/tests/test_derive.rs
index c7e78cc..4e6c088 100644
--- a/validator_derive/tests/test_derive.rs
+++ b/validator_derive/tests/test_derive.rs
@@ -2,8 +2,11 @@
extern crate validator;
#[macro_use] extern crate serde_derive;
extern crate serde_json;
+extern crate regex;
+#[macro_use] extern crate lazy_static;
use validator::Validate;
+use regex::Regex;
#[derive(Debug, Validate, Deserialize)]
@@ -251,3 +254,20 @@ fn test_can_fail_contains_validation() {
assert!(errs.contains_key("mail"));
assert_eq!(errs["mail"], vec!["contains".to_string()]);
}
+
+#[test]
+fn test_can_check_regex_validator() {
+ lazy_static! {
+ static ref RE: Regex = Regex::new(r"[a-z]{2}").unwrap();
+ }
+
+ #[derive(Debug, Validate)]
+ struct RegexStruct {
+ #[validate(regex = "RE")]
+ name: String,
+ }
+ let s = RegexStruct {name: "al".to_string()};
+ assert!(s.validate().is_ok());
+ let s2 = RegexStruct {name: "AL".to_string()};
+ assert!(s2.validate().is_err());
+}