mod api;
mod context;
mod dom;
mod facade;
mod lazy;
mod state;
mod streaming;
pub use self::mode::ValidationMode;
pub use facade::{Report, Validator};
mod mode {
#[derive(Debug, Clone, Copy, PartialEq, Eq, Default)]
pub enum ValidationMode {
Lenient,
#[default]
Strict,
}
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_validation_mode_default() {
let mode = ValidationMode::default();
assert_eq!(mode, ValidationMode::Strict);
}
#[test]
fn test_validation_mode_equality() {
assert_eq!(ValidationMode::Strict, ValidationMode::Strict);
assert_eq!(ValidationMode::Lenient, ValidationMode::Lenient);
assert_ne!(ValidationMode::Strict, ValidationMode::Lenient);
}
#[test]
fn test_validation_mode_eq() {
let mode1 = ValidationMode::Strict;
let mode2 = ValidationMode::Strict;
assert!(mode1 == mode2);
}
#[test]
fn test_validation_mode_clone() {
let mode = ValidationMode::Lenient;
let cloned = mode;
assert_eq!(mode, cloned);
}
#[test]
fn test_validation_mode_debug() {
let mode = ValidationMode::Strict;
let debug_str = format!("{:?}", mode);
assert!(debug_str.contains("Strict"));
let mode_lenient = ValidationMode::Lenient;
let debug_str_lenient = format!("{:?}", mode_lenient);
assert!(debug_str_lenient.contains("Lenient"));
}
}