Exemple de test pour Vim avec le framework Vader
Pour mon plugin QuickMarkdown, je vais ajouter une petite fonction
qui insère la ligne <!-- more -->
quand je tape la combinaison de
touche <Leader>qm
. Ça devrait m’être utile vu que j’écris du markdown
pour Octopress tous les jours ;) Si on est pas obligé de passer par un
plugin pour ce genre de chose, ça va aussi me permettre de parler un peu
de Vader. Voici donc un exemple simple de TDD pour
Vim, avec le framework de test Vader.
Tout d’abord, j’écris le test:
Voici comment il fonctionne. La directive Given
produit un buffer (=~ fichier)
utilisé dans les directives suivante, qui contient 2 lignes, respectivement
First line
et Last line
:
Ensuite, la directive Do
joue des commandes en mode normal. Tout d’abord
gg
, pour s’assurer qu’on est sur la première ligne, puis la commande
QuickMarkdownMore
, qui est celle qui est censée faire le travail:
Finalement, la directive Expect
s’assure que le buffer de test a été
transformé comme je le voulais:
Il reste à lancer le test (avec :Vader
) pour s’assurer qu’il ne passe
pas, puis à écrire la fonction, et relancer le test en s’assurant qu’il
passe bien cette fois-ci.
Et voici pour finir le code d’implémentation:
À demain.