Files
fn_registry/python/functions/obsidian/slugify_obsidian_name_test.py
T
egutierrez eb8dbf66a1 feat(infra): auto-commit con 88 cambios
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-06-11 00:16:46 +02:00

32 lines
1.0 KiB
Python

"""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("!!!---???") == ""