Skip to content

[P3] Ajouter des tests unitaires pour IRC parser #78

Description

@r9r-dev

Description

Le parser IRC est critique et n'a aucun test. C'est une zone à haut risque de régression.

Fichiers à tester

  • lib/core/irc/parser/irc_parser.dart
  • lib/core/irc/parser/tag_parser.dart
  • lib/core/irc/parser/source_parser.dart
  • lib/core/irc/parser/whox_parser.dart
  • lib/core/irc/parser/capability_parser.dart
  • lib/core/irc/parser/isupport.dart

Cas de test à couvrir

IrcParser

  • Message simple: PRIVMSG #channel :Hello
  • Message avec tags: @time=2024-01-01T00:00:00Z;msgid=abc123 :nick!user@host PRIVMSG #channel :Hello
  • Message avec source: :nick!user@host PRIVMSG #channel :Hello
  • Message sans trailing: PING server
  • Cas limites: messages malformés, caractères spéciaux

TagParser

  • Tags multiples
  • Tags avec valeurs échappées
  • Tags client-only (+typing)

SourceParser

  • Nick seul
  • Nick avec user et host
  • Server comme source

WHOX Parser

  • Parsing des champs WHO extended
  • Différents formats de réponse

Structure des tests

test/core/irc/parser/
├── irc_parser_test.dart
├── tag_parser_test.dart
├── source_parser_test.dart
├── whox_parser_test.dart
├── capability_parser_test.dart
└── isupport_test.dart

Couverture cible

80% sur les fichiers parser

Effort estimé

2 jours

Référence

docs/CODE_REVIEW.md - Section 5

Metadata

Metadata

Assignees

No one assigned

    Labels

    testingTests et couverture

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions