From bbf02d837e3a501c6acaca51b257672198d35591 Mon Sep 17 00:00:00 2001 From: Aryeh Leib Taurog Date: Tue, 1 Jan 2019 21:37:42 +0200 Subject: test elm-make changes to rootdir when elm.json is found most projects will have an elm.json file (>= 0.19) or elm-package.json (< 0.19) --- test/command_callback/test_elm_make_command_callback.vader | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'test/command_callback/test_elm_make_command_callback.vader') diff --git a/test/command_callback/test_elm_make_command_callback.vader b/test/command_callback/test_elm_make_command_callback.vader index 6d95676f..9e3ce214 100644 --- a/test/command_callback/test_elm_make_command_callback.vader +++ b/test/command_callback/test_elm_make_command_callback.vader @@ -12,7 +12,8 @@ Execute(should get valid executable with default params): let g:executable = ale#path#Simplify(g:dir . '/../elm-test-files/app/node_modules/.bin/elm') AssertLinter g:executable, - \ ale#Escape(g:executable) . ' make --report=json --output=/dev/null %t' + \ 'cd ' . ale#Escape(ale#path#Simplify(g:dir . '/../elm-test-files/app')) . ' && ' + \ . ale#Escape(g:executable) . ' make --report=json --output=/dev/null %t' Execute(should get valid executable with 'use_global' params): let g:ale_elm_make_use_global = 1 @@ -20,7 +21,8 @@ Execute(should get valid executable with 'use_global' params): call ale#test#SetFilename('../elm-test-files/app/testfile.elm') AssertLinter 'elm', - \ ale#Escape('elm') . ' make --report=json --output=/dev/null %t' + \ 'cd ' . ale#Escape(ale#path#Simplify(g:dir . '/../elm-test-files/app')) . ' && ' + \ . ale#Escape('elm') . ' make --report=json --output=/dev/null %t' Execute(should get valid executable with 'use_global' and 'executable' params): let g:ale_elm_make_executable = 'other-elm' @@ -29,4 +31,5 @@ Execute(should get valid executable with 'use_global' and 'executable' params): call ale#test#SetFilename('../elm-test-files/app/testfile.elm') AssertLinter 'other-elm', - \ ale#Escape('other-elm') . ' make --report=json --output=/dev/null %t' + \ 'cd ' . ale#Escape(ale#path#Simplify(g:dir . '/../elm-test-files/app')) . ' && ' + \ . ale#Escape('other-elm') . ' make --report=json --output=/dev/null %t' -- cgit v1.2.3 From ba38688dffd846a633ae2c076441927c864ffd5f Mon Sep 17 00:00:00 2001 From: Aryeh Leib Taurog Date: Tue, 1 Jan 2019 20:42:06 +0200 Subject: support tests/ with elm 0.19.0 With earlier elm versions, a separate package file is maintained for tests, which when properly configured enabled the compiler to find what it needed to compile the tests. Under elm 0.19, test dependencies are managed in the top-level package file, so `elm make` will fail on the tests. `elm-test make` is required in this case. See https://github.com/elm-explorations/test/issues/64 --- .../test_elm_make_command_callback.vader | 32 +++++++++++++++++----- 1 file changed, 25 insertions(+), 7 deletions(-) (limited to 'test/command_callback/test_elm_make_command_callback.vader') diff --git a/test/command_callback/test_elm_make_command_callback.vader b/test/command_callback/test_elm_make_command_callback.vader index 9e3ce214..6400e187 100644 --- a/test/command_callback/test_elm_make_command_callback.vader +++ b/test/command_callback/test_elm_make_command_callback.vader @@ -7,29 +7,47 @@ After: call ale#assert#TearDownLinterTest() Execute(should get valid executable with default params): - call ale#test#SetFilename('../elm-test-files/app/testfile.elm') + call ale#test#SetFilename('../elm-test-files/newapp/src/Main.elm') - let g:executable = ale#path#Simplify(g:dir . '/../elm-test-files/app/node_modules/.bin/elm') + let g:executable = ale#path#Simplify(g:dir . '/../elm-test-files/newapp/node_modules/.bin/elm') AssertLinter g:executable, - \ 'cd ' . ale#Escape(ale#path#Simplify(g:dir . '/../elm-test-files/app')) . ' && ' + \ 'cd ' . ale#Escape(ale#path#Simplify(g:dir . '/../elm-test-files/newapp')) . ' && ' + \ . ale#Escape(g:executable) . ' make --report=json --output=/dev/null %t' + +Execute(should get elm-test executable for test code with elm >= 0.19): + call ale#test#SetFilename('../elm-test-files/newapp/tests/TestSuite.elm') + + let g:executable = ale#path#Simplify(g:dir . '/../elm-test-files/newapp/node_modules/.bin/elm-test') + + AssertLinter g:executable, + \ 'cd ' . ale#Escape(ale#path#Simplify(g:dir . '/../elm-test-files/newapp')) . ' && ' + \ . ale#Escape(g:executable) . ' make --report=json --output=/dev/null %t' + +Execute(should get plain elm executable for test code with elm < 0.19): + call ale#test#SetFilename('../elm-test-files/oldapp/tests/TestSuite.elm') + + let g:executable = ale#path#Simplify(g:dir . '/../elm-test-files/oldapp/node_modules/.bin/elm') + + AssertLinter g:executable, + \ 'cd ' . ale#Escape(ale#path#Simplify(g:dir . '/../elm-test-files/oldapp')) . ' && ' \ . ale#Escape(g:executable) . ' make --report=json --output=/dev/null %t' Execute(should get valid executable with 'use_global' params): let g:ale_elm_make_use_global = 1 - call ale#test#SetFilename('../elm-test-files/app/testfile.elm') + call ale#test#SetFilename('../elm-test-files/newapp/src/Main.elm') AssertLinter 'elm', - \ 'cd ' . ale#Escape(ale#path#Simplify(g:dir . '/../elm-test-files/app')) . ' && ' + \ 'cd ' . ale#Escape(ale#path#Simplify(g:dir . '/../elm-test-files/newapp')) . ' && ' \ . ale#Escape('elm') . ' make --report=json --output=/dev/null %t' Execute(should get valid executable with 'use_global' and 'executable' params): let g:ale_elm_make_executable = 'other-elm' let g:ale_elm_make_use_global = 1 - call ale#test#SetFilename('../elm-test-files/app/testfile.elm') + call ale#test#SetFilename('../elm-test-files/newapp/src/Main.elm') AssertLinter 'other-elm', - \ 'cd ' . ale#Escape(ale#path#Simplify(g:dir . '/../elm-test-files/app')) . ' && ' + \ 'cd ' . ale#Escape(ale#path#Simplify(g:dir . '/../elm-test-files/newapp')) . ' && ' \ . ale#Escape('other-elm') . ' make --report=json --output=/dev/null %t' -- cgit v1.2.3 From 1f21eb0c422e8ae351981544a7e0da4f369e6144 Mon Sep 17 00:00:00 2001 From: Aryeh Leib Taurog Date: Fri, 4 Jan 2019 08:57:14 +0200 Subject: =?UTF-8?q?fallback=20to=20elm=20if=20elm-tests=20isn=E2=80=99t=20?= =?UTF-8?q?available?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- test/command_callback/test_elm_make_command_callback.vader | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'test/command_callback/test_elm_make_command_callback.vader') diff --git a/test/command_callback/test_elm_make_command_callback.vader b/test/command_callback/test_elm_make_command_callback.vader index 6400e187..02b2d76c 100644 --- a/test/command_callback/test_elm_make_command_callback.vader +++ b/test/command_callback/test_elm_make_command_callback.vader @@ -24,6 +24,15 @@ Execute(should get elm-test executable for test code with elm >= 0.19): \ 'cd ' . ale#Escape(ale#path#Simplify(g:dir . '/../elm-test-files/newapp')) . ' && ' \ . ale#Escape(g:executable) . ' make --report=json --output=/dev/null %t' +Execute(should fallback to elm executable with elm >= 0.19): + call ale#test#SetFilename('../elm-test-files/newapp-notests/tests/TestMain.elm') + + let g:executable = ale#path#Simplify(g:dir . '/../elm-test-files/newapp-notests/node_modules/.bin/elm') + + AssertLinter g:executable, + \ 'cd ' . ale#Escape(ale#path#Simplify(g:dir . '/../elm-test-files/newapp-notests')) . ' && ' + \ . ale#Escape(g:executable) . ' make --report=json --output=/dev/null %t' + Execute(should get plain elm executable for test code with elm < 0.19): call ale#test#SetFilename('../elm-test-files/oldapp/tests/TestSuite.elm') -- cgit v1.2.3