Before: call ale#test#SetDirectory('/testplugin/test/fixers') After: unlet! b:ale_elm_format_executable unlet! b:ale_elm_format_use_global unlet! b:ale_elm_format_options call ale#test#RestoreDirectory() Execute(The elm-format command should have default params): call ale#test#SetFilename('../elm-test-files/src/subdir/testfile.elm') AssertEqual \ { \ 'read_temporary_file': 1, \ 'command': \ ale#Escape(ale#path#Simplify(g:dir . '/../elm-test-files/node_modules/.bin/elm-format')) \ . ' %t --yes', \ }, \ ale#fixers#format#Fix(bufnr('')) Execute(The elm-format command should manage use_global = 1 param): call ale#test#SetFilename('../elm-test-files/src/subdir/testfile.elm') let b:ale_elm_format_use_global = 1 AssertEqual \ { \ 'read_temporary_file': 1, \ 'command': \ ale#Escape('elm-format') \ . ' %t --yes', \ }, \ ale#fixers#format#Fix(bufnr('')) Execute(The elm-format command should manage executable param): call ale#test#SetFilename('../elm-test-files/src/subdir/testfile.elm') let b:ale_elm_format_use_global = 1 let b:ale_elm_format_executable = 'elmformat' AssertEqual \ { \ 'read_temporary_file': 1, \ 'command': \ ale#Escape('elmformat') \ . ' %t --yes', \ }, \ ale#fixers#format#Fix(bufnr('')) Execute(The elm-format command should manage empty options): call ale#test#SetFilename('../elm-test-files/src/subdir/testfile.elm') let b:ale_elm_format_options = '' AssertEqual \ { \ 'read_temporary_file': 1, \ 'command': \ ale#Escape(ale#path#Simplify(g:dir . '/../elm-test-files/node_modules/.bin/elm-format')) \ . ' %t', \ }, \ ale#fixers#format#Fix(bufnr('')) Execute(The elm-format command should manage custom options): call ale#test#SetFilename('../elm-test-files/src/subdir/testfile.elm') let b:ale_elm_format_options = '--param1 --param2' AssertEqual \ { \ 'read_temporary_file': 1, \ 'command': \ ale#Escape(ale#path#Simplify(g:dir . '/../elm-test-files/node_modules/.bin/elm-format')) \ . ' %t --param1 --param2', \ }, \ ale#fixers#format#Fix(bufnr(''))