CardDavServerDebugWriterTest.ktCardDavServerDebugWriter.asCsvValue(). Vérifie que les guillemets doubles incorporés sont correctement échappés par doublement (convention CSV RFC 4180) et que les chaînes vides sont entourées de guillemets. Ceci est essentiel pour la journalisation de débogage du trafic CardDAV où les champs peuvent contenir des caractères spéciaux.Ce test cible la classe utilitaire CardDavServerDebugWriter, responsable de l'écriture des sorties de débogage du serveur CardDAV au format CSV. L'échappement CSV est essentiel pour journaliser correctement les données de requêtes/réponses HTTP qui peuvent contenir des guillemets, des sauts de ligne ou d'autres caractères spéciaux.
| Entrée | Sortie attendue | Règle |
|---|---|---|
| "" (chaîne vide) | """" (deux paires de guillemets) | Les chaînes vides sont entourées de guillemets, produisant une chaîne vide entre guillemets échappée : "" (guillemets extérieurs) contenant "" (vide échappé). En réalité, le test attend """" qui représente un champ vide entre guillemets — les guillemets extérieurs encapsulent le champ, et le double guillemet intérieur est le caractère guillemet échappé selon la RFC 4180. |
| Test "utilisateur"\r\nBonjour le monde | "Test ""utilisateur""\r\nBonjour le monde" | Les guillemets doubles dans la valeur sont échappés en les doublant ("" devient ""). Les séquences CR+LF sont conservées comme \r\n littéral. La valeur entière est encapsulée dans des guillemets extérieurs. |
La classe CardDavServerDebugWriter produit une sortie CSV pour la journalisation/débogage des interactions du serveur CardDAV. Le format CSV a été choisi car il est facilement importable dans des applications tableur pour analyse. L'échappement suit les conventions de la RFC 4180 :
"" représente un " littéral)\\r\\n (barre oblique inverse littérale r barre oblique inverse n) dans la chaîne attendue, ce qui suggère que la méthode asCsvValue préserve les caractères CR+LF réels plutôt que de les convertir en séquences d'échappement.868d6abb7 2025 -> 2026 63081666f En-têtes des fichiers source : 2024 -> 2025. f86cfa20a WIP : Serveur CardDAV.