use configbuilder_pattern_validator::{DefaultValidator, Validator, ValidatorError, ValidatorOps};
use std::path::Path;
struct RejectAll;
impl ValidatorOps for RejectAll {
fn check_path(&self, target: &Path) -> Result<(), ValidatorError> {
Err(ValidatorError::Io(format!(
"{}: rejected by policy",
target.display()
)))
}
}
#[test]
fn test_default_validator_dispatches_to_boxed_ops() {
let validator = DefaultValidator {
ops: Box::new(RejectAll),
};
let result = Validator::validate_path(&validator, Path::new("/tmp/example"));
match result {
Err(ValidatorError::Io(msg)) => assert!(msg.contains("rejected by policy")),
other => panic!("expected ValidatorError::Io, got {other:?}"),
}
}