# Trouve-KA — tests de décodage et réparation d'encodage # Author: Simon-Pierre Boucher # Contact: contact@spboucher.ai from trouveka.parser import decode_html, fix_mojibake def test_fix_mojibake_repare_double_encodage(): assert fix_mojibake("Une équipe donnée à Trois-Rivières") == "Une équipe donnée à Trois-Rivières" assert fix_mojibake("décédé à l'âge de 87 ans") == "décédé à l'âge de 87 ans" def test_fix_mojibake_ne_touche_pas_au_texte_sain(): sain = "Une équipe professionnelle à Trois-Rivières — déjà là." assert fix_mojibake(sain) == sain assert fix_mojibake("plain ascii text") == "plain ascii text" def test_decode_html_utf8_prioritaire_sur_charset_menteur(): # Serveur qui déclare iso-8859-1 mais sert de l'UTF-8 (défaut Apache) body = "Ville de Trois-Rivières — déneigement".encode("utf-8") assert decode_html(body, "iso-8859-1") == "Ville de Trois-Rivières — déneigement" def test_decode_html_vrai_cp1252_toujours_gere(): body = "Ville de Québec — déneigement".encode("cp1252") assert decode_html(body, "iso-8859-1") == "Ville de Québec — déneigement"