diff --git a/.gitignore b/.gitignore index 31e01d8..8303c89 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ bin/configlet bin/configlet.exe elm-stuff CHECKLIST +build.js diff --git a/bin/build.sh b/bin/build.sh index 25208f8..b1a16e2 100755 --- a/bin/build.sh +++ b/bin/build.sh @@ -11,7 +11,8 @@ do mv "$exercise_dir/$exercise.example" "$exercise_dir/$exercise.elm" echo '-------------------------------------------------------' echo "Testing $exercise" - elm-test $exercise_dir/*Tests.elm + + elm-make $exercise_dir/*Tests.elm --output build.js && node build.js if [ $? -ne 0 ]; then TEST_RESULT=1 diff --git a/docs/INSTALLATION.md b/docs/INSTALLATION.md index 851300e..238d1be 100644 --- a/docs/INSTALLATION.md +++ b/docs/INSTALLATION.md @@ -2,8 +2,8 @@ The simplest way to install Elm is via Node.js/NPM. -If you don't already have Node.js installed on your computer, you can download it from [the official site](https://nodejs.org/). Once you have Node.js up and running, follow these steps to install the Elm platform and elm-test. +If you don't already have Node.js installed on your computer, you can download it from [the official site](https://nodejs.org/). Once you have Node.js up and running, follow these steps to install the Elm platform. ```bash -$ npm install --global elm elm-test +$ npm install --global elm ``` diff --git a/docs/TESTS.md b/docs/TESTS.md index a204c19..eb3a2da 100644 --- a/docs/TESTS.md +++ b/docs/TESTS.md @@ -1,12 +1,10 @@ -Elm exercises within your exercism project directory can be run by changing to the exercise directory, and running `elm-test NameOfTests.elm`. +Elm exercises within your exercism project directory can be run by changing to the exercise directory, and running `./runtests.sh` (or `runtests.bat` on Windows). ```bash $ cd exercism/project/directory/elm/hello-world -$ elm-test HelloWorldTests.elm +$ ./runtests.sh ``` -When you first run `elm-test` for an exercise it will prompt you to install the test library dependencies. If you type "y" and hit enter, the script should take care of the rest. - ## Hints and tips ### Coding the exercise diff --git a/exercises/accumulate/runtests.bat b/exercises/accumulate/runtests.bat new file mode 100755 index 0000000..2a38cd8 --- /dev/null +++ b/exercises/accumulate/runtests.bat @@ -0,0 +1,4 @@ +@echo off +for %%f in (*Tests.elm) do ( + elm-make %%f --yes --output build.js && node build.js +) diff --git a/exercises/accumulate/runtests.sh b/exercises/accumulate/runtests.sh new file mode 100755 index 0000000..2bed7b2 --- /dev/null +++ b/exercises/accumulate/runtests.sh @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +elm-make *Tests.elm --yes --output build.js && node build.js diff --git a/exercises/allergies/runtests.bat b/exercises/allergies/runtests.bat new file mode 100755 index 0000000..2a38cd8 --- /dev/null +++ b/exercises/allergies/runtests.bat @@ -0,0 +1,4 @@ +@echo off +for %%f in (*Tests.elm) do ( + elm-make %%f --yes --output build.js && node build.js +) diff --git a/exercises/allergies/runtests.sh b/exercises/allergies/runtests.sh new file mode 100755 index 0000000..2bed7b2 --- /dev/null +++ b/exercises/allergies/runtests.sh @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +elm-make *Tests.elm --yes --output build.js && node build.js diff --git a/exercises/anagram/runtests.bat b/exercises/anagram/runtests.bat new file mode 100755 index 0000000..2a38cd8 --- /dev/null +++ b/exercises/anagram/runtests.bat @@ -0,0 +1,4 @@ +@echo off +for %%f in (*Tests.elm) do ( + elm-make %%f --yes --output build.js && node build.js +) diff --git a/exercises/anagram/runtests.sh b/exercises/anagram/runtests.sh new file mode 100755 index 0000000..2bed7b2 --- /dev/null +++ b/exercises/anagram/runtests.sh @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +elm-make *Tests.elm --yes --output build.js && node build.js diff --git a/exercises/bob/runtests.bat b/exercises/bob/runtests.bat new file mode 100755 index 0000000..2a38cd8 --- /dev/null +++ b/exercises/bob/runtests.bat @@ -0,0 +1,4 @@ +@echo off +for %%f in (*Tests.elm) do ( + elm-make %%f --yes --output build.js && node build.js +) diff --git a/exercises/bob/runtests.sh b/exercises/bob/runtests.sh new file mode 100755 index 0000000..2bed7b2 --- /dev/null +++ b/exercises/bob/runtests.sh @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +elm-make *Tests.elm --yes --output build.js && node build.js diff --git a/exercises/difference-of-squares/runtests.bat b/exercises/difference-of-squares/runtests.bat new file mode 100755 index 0000000..2a38cd8 --- /dev/null +++ b/exercises/difference-of-squares/runtests.bat @@ -0,0 +1,4 @@ +@echo off +for %%f in (*Tests.elm) do ( + elm-make %%f --yes --output build.js && node build.js +) diff --git a/exercises/difference-of-squares/runtests.sh b/exercises/difference-of-squares/runtests.sh new file mode 100755 index 0000000..2bed7b2 --- /dev/null +++ b/exercises/difference-of-squares/runtests.sh @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +elm-make *Tests.elm --yes --output build.js && node build.js diff --git a/exercises/grade-school/runtests.bat b/exercises/grade-school/runtests.bat new file mode 100755 index 0000000..2a38cd8 --- /dev/null +++ b/exercises/grade-school/runtests.bat @@ -0,0 +1,4 @@ +@echo off +for %%f in (*Tests.elm) do ( + elm-make %%f --yes --output build.js && node build.js +) diff --git a/exercises/grade-school/runtests.sh b/exercises/grade-school/runtests.sh new file mode 100755 index 0000000..2bed7b2 --- /dev/null +++ b/exercises/grade-school/runtests.sh @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +elm-make *Tests.elm --yes --output build.js && node build.js diff --git a/exercises/hamming/runtests.bat b/exercises/hamming/runtests.bat new file mode 100755 index 0000000..2a38cd8 --- /dev/null +++ b/exercises/hamming/runtests.bat @@ -0,0 +1,4 @@ +@echo off +for %%f in (*Tests.elm) do ( + elm-make %%f --yes --output build.js && node build.js +) diff --git a/exercises/hamming/runtests.sh b/exercises/hamming/runtests.sh new file mode 100755 index 0000000..2bed7b2 --- /dev/null +++ b/exercises/hamming/runtests.sh @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +elm-make *Tests.elm --yes --output build.js && node build.js diff --git a/exercises/hello-world/runtests.bat b/exercises/hello-world/runtests.bat new file mode 100755 index 0000000..2a38cd8 --- /dev/null +++ b/exercises/hello-world/runtests.bat @@ -0,0 +1,4 @@ +@echo off +for %%f in (*Tests.elm) do ( + elm-make %%f --yes --output build.js && node build.js +) diff --git a/exercises/hello-world/runtests.sh b/exercises/hello-world/runtests.sh new file mode 100755 index 0000000..2bed7b2 --- /dev/null +++ b/exercises/hello-world/runtests.sh @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +elm-make *Tests.elm --yes --output build.js && node build.js diff --git a/exercises/leap/runtests.bat b/exercises/leap/runtests.bat new file mode 100755 index 0000000..2a38cd8 --- /dev/null +++ b/exercises/leap/runtests.bat @@ -0,0 +1,4 @@ +@echo off +for %%f in (*Tests.elm) do ( + elm-make %%f --yes --output build.js && node build.js +) diff --git a/exercises/leap/runtests.sh b/exercises/leap/runtests.sh new file mode 100755 index 0000000..2bed7b2 --- /dev/null +++ b/exercises/leap/runtests.sh @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +elm-make *Tests.elm --yes --output build.js && node build.js diff --git a/exercises/list-ops/runtests.bat b/exercises/list-ops/runtests.bat new file mode 100755 index 0000000..2a38cd8 --- /dev/null +++ b/exercises/list-ops/runtests.bat @@ -0,0 +1,4 @@ +@echo off +for %%f in (*Tests.elm) do ( + elm-make %%f --yes --output build.js && node build.js +) diff --git a/exercises/list-ops/runtests.sh b/exercises/list-ops/runtests.sh new file mode 100755 index 0000000..2bed7b2 --- /dev/null +++ b/exercises/list-ops/runtests.sh @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +elm-make *Tests.elm --yes --output build.js && node build.js diff --git a/exercises/nucleotide-count/runtests.bat b/exercises/nucleotide-count/runtests.bat new file mode 100755 index 0000000..2a38cd8 --- /dev/null +++ b/exercises/nucleotide-count/runtests.bat @@ -0,0 +1,4 @@ +@echo off +for %%f in (*Tests.elm) do ( + elm-make %%f --yes --output build.js && node build.js +) diff --git a/exercises/nucleotide-count/runtests.sh b/exercises/nucleotide-count/runtests.sh new file mode 100755 index 0000000..2bed7b2 --- /dev/null +++ b/exercises/nucleotide-count/runtests.sh @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +elm-make *Tests.elm --yes --output build.js && node build.js diff --git a/exercises/pangram/runtests.bat b/exercises/pangram/runtests.bat new file mode 100755 index 0000000..2a38cd8 --- /dev/null +++ b/exercises/pangram/runtests.bat @@ -0,0 +1,4 @@ +@echo off +for %%f in (*Tests.elm) do ( + elm-make %%f --yes --output build.js && node build.js +) diff --git a/exercises/pangram/runtests.sh b/exercises/pangram/runtests.sh new file mode 100755 index 0000000..2bed7b2 --- /dev/null +++ b/exercises/pangram/runtests.sh @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +elm-make *Tests.elm --yes --output build.js && node build.js diff --git a/exercises/phone-number/runtests.bat b/exercises/phone-number/runtests.bat new file mode 100755 index 0000000..2a38cd8 --- /dev/null +++ b/exercises/phone-number/runtests.bat @@ -0,0 +1,4 @@ +@echo off +for %%f in (*Tests.elm) do ( + elm-make %%f --yes --output build.js && node build.js +) diff --git a/exercises/phone-number/runtests.sh b/exercises/phone-number/runtests.sh new file mode 100755 index 0000000..2bed7b2 --- /dev/null +++ b/exercises/phone-number/runtests.sh @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +elm-make *Tests.elm --yes --output build.js && node build.js diff --git a/exercises/raindrops/runtests.bat b/exercises/raindrops/runtests.bat new file mode 100755 index 0000000..2a38cd8 --- /dev/null +++ b/exercises/raindrops/runtests.bat @@ -0,0 +1,4 @@ +@echo off +for %%f in (*Tests.elm) do ( + elm-make %%f --yes --output build.js && node build.js +) diff --git a/exercises/raindrops/runtests.sh b/exercises/raindrops/runtests.sh new file mode 100755 index 0000000..2bed7b2 --- /dev/null +++ b/exercises/raindrops/runtests.sh @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +elm-make *Tests.elm --yes --output build.js && node build.js diff --git a/exercises/rna-transcription/runtests.bat b/exercises/rna-transcription/runtests.bat new file mode 100755 index 0000000..2a38cd8 --- /dev/null +++ b/exercises/rna-transcription/runtests.bat @@ -0,0 +1,4 @@ +@echo off +for %%f in (*Tests.elm) do ( + elm-make %%f --yes --output build.js && node build.js +) diff --git a/exercises/rna-transcription/runtests.sh b/exercises/rna-transcription/runtests.sh new file mode 100755 index 0000000..2bed7b2 --- /dev/null +++ b/exercises/rna-transcription/runtests.sh @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +elm-make *Tests.elm --yes --output build.js && node build.js diff --git a/exercises/robot-simulator/runtests.bat b/exercises/robot-simulator/runtests.bat new file mode 100755 index 0000000..2a38cd8 --- /dev/null +++ b/exercises/robot-simulator/runtests.bat @@ -0,0 +1,4 @@ +@echo off +for %%f in (*Tests.elm) do ( + elm-make %%f --yes --output build.js && node build.js +) diff --git a/exercises/robot-simulator/runtests.sh b/exercises/robot-simulator/runtests.sh new file mode 100755 index 0000000..2bed7b2 --- /dev/null +++ b/exercises/robot-simulator/runtests.sh @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +elm-make *Tests.elm --yes --output build.js && node build.js diff --git a/exercises/run-length-encoding/runtests.bat b/exercises/run-length-encoding/runtests.bat new file mode 100755 index 0000000..2a38cd8 --- /dev/null +++ b/exercises/run-length-encoding/runtests.bat @@ -0,0 +1,4 @@ +@echo off +for %%f in (*Tests.elm) do ( + elm-make %%f --yes --output build.js && node build.js +) diff --git a/exercises/run-length-encoding/runtests.sh b/exercises/run-length-encoding/runtests.sh new file mode 100755 index 0000000..2bed7b2 --- /dev/null +++ b/exercises/run-length-encoding/runtests.sh @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +elm-make *Tests.elm --yes --output build.js && node build.js diff --git a/exercises/series/runtests.bat b/exercises/series/runtests.bat new file mode 100755 index 0000000..2a38cd8 --- /dev/null +++ b/exercises/series/runtests.bat @@ -0,0 +1,4 @@ +@echo off +for %%f in (*Tests.elm) do ( + elm-make %%f --yes --output build.js && node build.js +) diff --git a/exercises/series/runtests.sh b/exercises/series/runtests.sh new file mode 100755 index 0000000..2bed7b2 --- /dev/null +++ b/exercises/series/runtests.sh @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +elm-make *Tests.elm --yes --output build.js && node build.js diff --git a/exercises/space-age/runtests.bat b/exercises/space-age/runtests.bat new file mode 100755 index 0000000..2a38cd8 --- /dev/null +++ b/exercises/space-age/runtests.bat @@ -0,0 +1,4 @@ +@echo off +for %%f in (*Tests.elm) do ( + elm-make %%f --yes --output build.js && node build.js +) diff --git a/exercises/space-age/runtests.sh b/exercises/space-age/runtests.sh new file mode 100755 index 0000000..2bed7b2 --- /dev/null +++ b/exercises/space-age/runtests.sh @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +elm-make *Tests.elm --yes --output build.js && node build.js diff --git a/exercises/strain/runtests.bat b/exercises/strain/runtests.bat new file mode 100755 index 0000000..2a38cd8 --- /dev/null +++ b/exercises/strain/runtests.bat @@ -0,0 +1,4 @@ +@echo off +for %%f in (*Tests.elm) do ( + elm-make %%f --yes --output build.js && node build.js +) diff --git a/exercises/strain/runtests.sh b/exercises/strain/runtests.sh new file mode 100755 index 0000000..2bed7b2 --- /dev/null +++ b/exercises/strain/runtests.sh @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +elm-make *Tests.elm --yes --output build.js && node build.js diff --git a/exercises/sublist/runtests.bat b/exercises/sublist/runtests.bat new file mode 100755 index 0000000..2a38cd8 --- /dev/null +++ b/exercises/sublist/runtests.bat @@ -0,0 +1,4 @@ +@echo off +for %%f in (*Tests.elm) do ( + elm-make %%f --yes --output build.js && node build.js +) diff --git a/exercises/sublist/runtests.sh b/exercises/sublist/runtests.sh new file mode 100755 index 0000000..2bed7b2 --- /dev/null +++ b/exercises/sublist/runtests.sh @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +elm-make *Tests.elm --yes --output build.js && node build.js diff --git a/exercises/sum-of-multiples/runtests.bat b/exercises/sum-of-multiples/runtests.bat new file mode 100755 index 0000000..2a38cd8 --- /dev/null +++ b/exercises/sum-of-multiples/runtests.bat @@ -0,0 +1,4 @@ +@echo off +for %%f in (*Tests.elm) do ( + elm-make %%f --yes --output build.js && node build.js +) diff --git a/exercises/sum-of-multiples/runtests.sh b/exercises/sum-of-multiples/runtests.sh new file mode 100755 index 0000000..2bed7b2 --- /dev/null +++ b/exercises/sum-of-multiples/runtests.sh @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +elm-make *Tests.elm --yes --output build.js && node build.js diff --git a/exercises/triangle/runtests.bat b/exercises/triangle/runtests.bat new file mode 100755 index 0000000..2a38cd8 --- /dev/null +++ b/exercises/triangle/runtests.bat @@ -0,0 +1,4 @@ +@echo off +for %%f in (*Tests.elm) do ( + elm-make %%f --yes --output build.js && node build.js +) diff --git a/exercises/triangle/runtests.sh b/exercises/triangle/runtests.sh new file mode 100755 index 0000000..2bed7b2 --- /dev/null +++ b/exercises/triangle/runtests.sh @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +elm-make *Tests.elm --yes --output build.js && node build.js diff --git a/exercises/word-count/runtests.bat b/exercises/word-count/runtests.bat new file mode 100755 index 0000000..2a38cd8 --- /dev/null +++ b/exercises/word-count/runtests.bat @@ -0,0 +1,4 @@ +@echo off +for %%f in (*Tests.elm) do ( + elm-make %%f --yes --output build.js && node build.js +) diff --git a/exercises/word-count/runtests.sh b/exercises/word-count/runtests.sh new file mode 100755 index 0000000..2bed7b2 --- /dev/null +++ b/exercises/word-count/runtests.sh @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +elm-make *Tests.elm --yes --output build.js && node build.js