mirror of
https://github.com/dense-analysis/ale
synced 2024-12-25 07:32:24 +00:00
ba38688dff
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
54 lines
2.2 KiB
Plaintext
54 lines
2.2 KiB
Plaintext
Before:
|
|
call ale#assert#SetUpLinterTest('elm', 'make')
|
|
|
|
After:
|
|
unlet! g:executable
|
|
|
|
call ale#assert#TearDownLinterTest()
|
|
|
|
Execute(should get valid executable with default params):
|
|
call ale#test#SetFilename('../elm-test-files/newapp/src/Main.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/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/newapp/src/Main.elm')
|
|
|
|
AssertLinter 'elm',
|
|
\ '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/newapp/src/Main.elm')
|
|
|
|
AssertLinter 'other-elm',
|
|
\ 'cd ' . ale#Escape(ale#path#Simplify(g:dir . '/../elm-test-files/newapp')) . ' && '
|
|
\ . ale#Escape('other-elm') . ' make --report=json --output=/dev/null %t'
|