Aprenda a testar seus exercícios de MoonScript no Exercism
Testar na trilha MoonScript é exatamente como testar na trilha Lua. Em um diretório de exercício, digite:
$ busted
Esta trilha segue a metodologia de Desenvolvimento Guiado por Testes do Exercism. Você recebe uma suíte de testes completa, mas só o primeiro teste está "ativo".
Para habilitar os testes, mude o comando de um teste de pending para it.
Se você gosta de rodar todos os testes o tempo todo, pode usar uma ferramenta de linha de comando para mudar todos de uma vez. Veja um exemplo usando perl (que está instalado em praticamente todo lugar):
$ perl -i -pe 's/^\s+\Kpending\b/it/' two_fer_spec.moon
Quando você estiver trabalhando no editor online, o executor de testes vai rodar todos os testes automaticamente.
Lua, por si só, é uma linguagem muito pequena. LuaRocks é o gerenciador de pacotes de módulos Lua.
Você pode usar qualquer módulo nas suas soluções, mas nem todos estarão disponíveis no executor de testes online. O executor de testes oferece estes:
Já disponíveis como dependências do busted
Penlight é um conjunto de bibliotecas de Lua pura que facilitam tarefas comuns, como iterar sobre diretórios, ler arquivos de configuração e afins. Oferece operações funcionais sobre tabelas e sequências.
dkjson é um módulo para codificar e decodificar dados JSON.
Já disponíveis como dependências do MoonScript
LPeg é uma biblioteca nova de casamento de padrões para Lua, baseada em Gramáticas de Expressões de Análise (PEGs).
LuaFileSystem oferece uma forma portável de acessar a estrutura de diretórios subjacente e os atributos de arquivos.
Data e hora
Análise de strings de data e hora; soma e subtração de tempo; cálculo de intervalos de tempo; suporta datas no formato ISO 8601.
Lua TZ fornece funções de data e hora com suporte a fusos horários. As funções principais têm uma interface semelhante às funções padrão os.date e os.time, mas também aceitam um argumento de fuso horário.
Uma biblioteca de Lua para manipulação de data e hora.