Scopri come testare gli esercizi di MoonScript su Exercism
Testare sulla traccia MoonScript è esattamente come testare sulla traccia Lua. Da una cartella di esercizio, digita:
$ busted
Questa traccia segue la metodologia Test-Driven Development di Exercism. Ti viene fornita una suite di test completa, ma solo il primo test è «attivo».
Per attivare i test, cambia il comando di un test da pending a it.
Se ti piace eseguire tutti i test ogni volta, puoi usare uno strumento da riga di comando per cambiarli tutti in una volta. Ecco un esempio con perl (che è installato praticamente ovunque):
$ perl -i -pe 's/^\s+\Kpending\b/it/' two_fer_spec.moon
Quando lavori nell'editor online, il test runner eseguirà automaticamente tutti i test.
Lua di per sé è un linguaggio molto piccolo. LuaRocks è il gestore di pacchetti per i moduli Lua.
Sei libero di usare qualsiasi modulo nelle soluzioni, ma non tutti saranno disponibili nel test-runner online. Il test-runner fornisce questi:
Già disponibili come dipendenze di busted
Penlight è un insieme di librerie Lua pure che semplificano attività comuni come iterare sulle cartelle, leggere file di configurazione e simili. Offre operazioni funzionali su tabelle e sequenze.
dkjson è un modulo per codificare e decodificare dati JSON.
Già disponibili come dipendenze di MoonScript
LPeg è una nuova libreria di pattern matching per Lua, basata sulle Parsing Expression Grammars (PEG).
LuaFileSystem offre un modo portabile per accedere alla struttura di cartelle sottostante e agli attributi dei file.
Data ed ora
Analisi di stringhe di data e ora; addizione e sottrazione di tempo; calcolo di intervalli temporali; supporto alle date ISO 8601.
Lua TZ fornisce funzioni di data e ora con il supporto per i fusi orari. Le funzioni principali hanno un'interfaccia simile alle funzioni standard os.date e os.time, ma accettano anche un argomento per il fuso orario.
Una libreria Lua per la manipolazione di tempo e date.