ic_dbms_api/dbms/sanitize/
lowercase.rs1use crate::prelude::{IcDbmsResult, Sanitize, Value};
2
3pub struct LowerCaseSanitizer;
16
17impl Sanitize for LowerCaseSanitizer {
18 fn sanitize(&self, value: Value) -> IcDbmsResult<Value> {
19 match value {
20 Value::Text(text) => Ok(Value::Text(text.as_str().to_lowercase().into())),
21 other => Ok(other),
22 }
23 }
24}
25
26#[cfg(test)]
27mod tests {
28
29 use super::*;
30
31 #[test]
32 fn test_trim_sanitizer() {
33 let sanitizer = LowerCaseSanitizer;
34 let string = Value::Text("Hello, World!".into());
35 let number_value = Value::Int32(42.into());
36
37 let sanitized_lowercase = sanitizer.sanitize(string).unwrap();
38 let sanitized_number = sanitizer.sanitize(number_value).unwrap();
39
40 assert_eq!(sanitized_lowercase, Value::Text("hello, world!".into()));
41 assert_eq!(sanitized_number, Value::Int32(42.into()));
42 }
43}