"""Tests para slugify_obsidian_name.""" from slugify_obsidian_name import slugify_obsidian_name def test_acentos_y_espacios(): # Golden path: transliteracion de acentos + espacios a kebab-case. assert slugify_obsidian_name("Enmanuel Gutiérrez Pérez") == "enmanuel-gutierrez-perez" def test_enye_se_mapea_a_n(): # Edge: la enye no la descompone NFKD, la mapeamos explicitamente. assert slugify_obsidian_name("Jose manuel camaño castro") == "jose-manuel-camano-castro" def test_mezcla_mayusculas_y_acentos(): assert slugify_obsidian_name("DNI de María del Mar") == "dni-de-maria-del-mar" def test_simbolos_y_dobles_separadores(): # Edge: secuencias de no-alfanumericos colapsan a un solo '-', strip en bordes. assert slugify_obsidian_name(" raro__nombre!! ") == "raro-nombre" def test_string_vacio(): assert slugify_obsidian_name("") == "" def test_solo_simbolos_devuelve_vacio(): # Edge: nada slugificable -> cadena vacia, sin guiones colgando. assert slugify_obsidian_name("!!!---???") == ""