Apprends à tester tes exercices MoonScript sur Exercism
Tester sur le parcours MoonScript fonctionne exactement comme tester sur le parcours Lua. Depuis le répertoire d'un exercice, saisis :
$ busted
Ce parcours suit la méthodologie du développement piloté par les tests d'Exercism. Tu disposes d'une suite de tests complète, mais seul le premier test est « actif ».
Pour activer les tests, remplace pending par it dans la commande d'un test.
Si tu aimes lancer tous les tests en permanence, tu peux utiliser un outil en ligne de commande pour les modifier tous d'un coup. Voici un exemple avec perl (qui est installé à peu près partout) :
$ perl -i -pe 's/^\s+\Kpending\b/it/' two_fer_spec.moon
Quand tu travailles dans l'éditeur en ligne, l'exécuteur de tests lance automatiquement tous les tests.
Lua en soi est un langage très petit. LuaRocks est le gestionnaire de paquets des modules Lua.
Tu es libre d'utiliser n'importe quel module dans tes solutions, mais ils ne seront pas tous disponibles dans l'exécuteur de tests en ligne. L'exécuteur de tests fournit ceux-ci :
Déjà disponibles comme dépendances de busted
Penlight est un ensemble de bibliothèques Lua pures qui facilitent le traitement des tâches courantes, comme parcourir des répertoires, lire des fichiers de configuration et autres. Il fournit des opérations fonctionnelles sur les tables et les séquences.
dkjson est un module pour encoder et décoder des données JSON.
Déjà disponibles comme dépendances de MoonScript
LPeg est une nouvelle bibliothèque de correspondance de motifs pour Lua, basée sur les grammaires d'expressions d'analyse (PEG).
LuaFileSystem offre un moyen portable d'accéder à la structure de répertoires et aux attributs de fichiers sous-jacents.
Date et heure
Analyse de chaînes de date et d'heure ; addition et soustraction de durées ; calcul d'intervalles de temps ; prise en charge des dates ISO 8601.
Lua TZ fournit des fonctions de date et d'heure avec prise en charge des fuseaux horaires. Les fonctions principales ont une interface similaire aux fonctions standard os.date et os.time, mais acceptent en plus un argument de fuseau horaire.
Une bibliothèque Lua pour la manipulation des dates et de l'heure.