diff --git a/packages/fortifier-macros-tests/tests/validations.rs b/packages/fortifier-macros-tests/tests/validations.rs
index cd55e47..935a952 100644
--- a/packages/fortifier-macros-tests/tests/validations.rs
+++ b/packages/fortifier-macros-tests/tests/validations.rs
@@ -3,7 +3,6 @@ use trybuild::TestCases;
#[test]
fn validations() {
let t = TestCases::new();
- t.pass("tests/validations/*/root_generics_pass.rs");
- // t.pass("tests/validations/*/*_pass.rs");
- // t.compile_fail("tests/validations/*/*_fail.rs");
+ t.pass("tests/validations/*/*_pass.rs");
+ t.compile_fail("tests/validations/*/*_fail.rs");
}
diff --git a/packages/fortifier-macros-tests/tests/validations/custom/options_pass.rs b/packages/fortifier-macros-tests/tests/validations/custom/options_pass.rs
new file mode 100644
index 0000000..af1abf7
--- /dev/null
+++ b/packages/fortifier-macros-tests/tests/validations/custom/options_pass.rs
@@ -0,0 +1,114 @@
+use fortifier::{Validate, error_code};
+use serde::{Deserialize, Serialize};
+
+#[derive(Deserialize, Serialize, Validate)]
+struct CustomData<'a> {
+ #[validate(custom(function = custom, error = CustomError))]
+ zero_options: &'a str,
+
+ #[validate(custom(function = custom, error = CustomError))]
+ strip_one_option: Option<&'a str>,
+ #[validate(custom(function = custom, error = CustomError))]
+ strip_two_options: Option