1pub const MASCARA_FIXA: &str = "***";
7
8#[must_use]
19pub fn mascarar(_valor: &str) -> String {
20 MASCARA_FIXA.to_string()
21}
22
23#[cfg(test)]
24mod testes {
25 use super::*;
26
27 #[test]
28 fn valor_vazio_retorna_triplo_asterisco() {
29 assert_eq!(mascarar(""), "***");
30 }
31
32 #[test]
33 fn valor_curto_retorna_triplo_asterisco() {
34 assert_eq!(mascarar("abc"), "***");
35 }
36
37 #[test]
38 fn valor_longo_nunca_expoe_prefixo_ou_sufixo() {
39 let senha = "senha-secreta-muito-longa-aqui-123456";
40 assert_eq!(mascarar(senha), "***");
41 assert!(!mascarar(senha).contains("senha"));
42 assert!(!mascarar(senha).contains("1234"));
43 }
44
45 #[test]
46 fn valor_com_unicode_nao_crasha() {
47 let emojis = "🔒🔑🛡🔐✨🎉💎⚡🌟🔥🎨🚀🌈🍀🎯🎪🎭🎬🎮🎲";
48 assert_eq!(mascarar(emojis), "***");
49 }
50}