orgmode-to-gemini-blog/test_utils.py

33 lines
No EOL
1.3 KiB
Python

import pytest
from utils import slugify_title
def test_slugify_title_with_accents():
"""Test que slugify conserve les accents francophones"""
title = "Rétrospective du cul"
expected = "rétrospective-du-cul"
result = slugify_title(title)
assert result == expected, f"Expected '{expected}' but got '{result}'"
def test_slugify_title_various_cases():
"""Test slugify avec différents cas de figure"""
test_cases = [
("Hello World!", "hello-world"),
("L'été est là", "l-été-est-là"),
("100% Bio", "100-bio"),
("Spécial & Unique", "spécial-unique"),
("Multiple Spaces", "multiple-spaces"),
("émission télé", "émission-télé"),
("TOUT EN MAJUSCULES", "tout-en-majuscules"),
("mix OF cases", "mix-of-cases"),
("points...multiples...", "points-multiples"),
("Voilà l'été", "voilà-l-été"),
("Être ou ne pas être", "être-ou-ne-pas-être"),
("Ça c'est génial !", "ça-c-est-génial"),
]
for input_title, expected in test_cases:
result = slugify_title(input_title)
assert result == expected, f"Pour '{input_title}', attendu '{expected}' mais reçu '{result}'"
if __name__ == '__main__':
pytest.main([__file__])