#![forbid(unsafe_code)]
pub const FIXED_MASK: &str = "***";
#[must_use]
#[inline]
pub fn mask(_valor: &str) -> &'static str {
FIXED_MASK
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn empty_value_returns_triple_asterisk() {
assert_eq!(mask(""), "***");
}
#[test]
fn short_value_returns_triple_asterisk() {
assert_eq!(mask("abc"), "***");
}
#[test]
fn long_value_never_exposes_prefix_or_suffix() {
let password = "senha-secreta-muito-longa-aqui-123456";
assert_eq!(mask(password), "***");
assert!(!mask(password).contains("senha"));
assert!(!mask(password).contains("1234"));
}
#[test]
fn unicode_value_does_not_crash() {
let emojis = "🔒🔑🛡🔐✨🎉💎⚡🌟🔥🎨🚀🌈🍀🎯🎪🎭🎬🎮🎲";
assert_eq!(mask(emojis), "***");
}
#[test]
fn mask_returns_static_placeholder() {
let m: &'static str = mask("secret");
assert_eq!(m, FIXED_MASK);
assert_eq!(m, "***");
}
}