Pour la mise en page, nous avons notre fameux texte "Lorem ipsum" pour tester ce à quoi il ressemble.
Ce que je recherche, c'est un ensemble de fichiers contenant du texte codé avec plusieurs codages différents que je peux utiliser dans mes tests JUnit pour tester certaines méthodes qui traitent du codage des caractères lors de la lecture de fichiers texte.
Exemple :
Avoir un ISO 8859-1
et un fichier de test codé Windows-1252
fichier test codé. Les Windows-1252 doivent déclencher les différences dans la région 80. 16 - 9F 16 . En d'autres termes, il doit contenir au moins un caractère de cette région pour le distinguer de l'ISO 8859-1.
Peut-être que le meilleur ensemble de fichiers de test est celui où le fichier de test pour chaque encodage contient tous ses caractères une fois. Mais peut-être que je ne suis pas au courant de qqch - nous aimons tous ces trucs d'encodage, n'est-ce pas ? :-)
Existe-t-il un tel ensemble de fichiers de test pour les problèmes de codage des caractères ?
1 votes
+1 : Je viens de passer pas mal de temps à implémenter un décodeur UTF-8. Gérer tous les cas particuliers nécessite plus de tests unitaires que vous ne le pensez.
4 votes
"Texte codé avec plusieurs codages différents" : pour une bonne couverture, vous voulez également des échantillons de séquences d'octets qui contiennent des octets invalides. Selon la page Wikipedia UTF-8, une mauvaise gestion de ces cas a introduit des failles de sécurité dans certains produits de premier plan.
0 votes
@Raedwald Bien sûr, c'est un bon point. Je n'en étais pas conscient. À mon avis, c'est une raison de plus pour disposer d'une suite de test mature pour les problèmes d'encodage. Il n'est pas nécessaire que ce soit un ensemble de fichiers. Il peut également s'agir d'une bibliothèque fournissant des données de test qui peuvent être utilisées dans les tests JUnit. Par exemple, elle peut fournir des séquences d'octets critiques/invalides pour les jeux de caractères courants et des chaînes de référence pour la comparaison après le décodage de séquences d'octets échantillons. Juste quelques réflexions et je me demande comment ce truc d'encodage a été testé dans toutes les librairies autour ...