use crate::prelude::{DbmsResult, Sanitize, Value};
pub struct LowerCaseSanitizer;
impl Sanitize for LowerCaseSanitizer {
fn sanitize(&self, value: Value) -> DbmsResult<Value> {
match value {
Value::Text(text) => Ok(Value::Text(text.as_str().to_lowercase().into())),
other => Ok(other),
}
}
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_trim_sanitizer() {
let sanitizer = LowerCaseSanitizer;
let string = Value::Text("Hello, World!".into());
let number_value = Value::Int32(42.into());
let sanitized_lowercase = sanitizer.sanitize(string).unwrap();
let sanitized_number = sanitizer.sanitize(number_value).unwrap();
assert_eq!(sanitized_lowercase, Value::Text("hello, world!".into()));
assert_eq!(sanitized_number, Value::Int32(42.into()));
}
}