static UNSANITARY_OBJECTS: &[&str] = &["interface"];
pub fn is_unsanitary(name: &str) -> bool {
UNSANITARY_OBJECTS
.iter()
.any(|&word| name.to_lowercase().contains(word))
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_exact_match() {
assert!(is_unsanitary("interface"));
}
#[test]
fn test_case_insensitive() {
assert!(is_unsanitary("INTERFACE"));
assert!(is_unsanitary("interface"));
}
#[test]
fn test_substring_match() {
assert!(is_unsanitary("interface_type"));
assert!(is_unsanitary("interface_name"));
}
#[test]
fn test_no_match() {
assert!(!is_unsanitary("device"));
assert!(!is_unsanitary(""));
assert!(!is_unsanitary("other"));
}
#[test]
fn test_whitespace() {
assert!(is_unsanitary(" interface "));
assert!(is_unsanitary("\tinterface\n"));
}
}