Before: Save g:ale_html_htmlhint_options Save g:ale_html_htmlhint_executable Save g:ale_html_htmlhint_use_global unlet! g:ale_html_htmlhint_options unlet! g:ale_html_htmlhint_executable unlet! g:ale_html_htmlhint_use_global runtime ale_linters/html/htmlhint.vim call ale#test#SetDirectory('/testplugin/test/command_callback') call ale#test#SetFilename('htmlhint_paths/test.html') let g:node_executable = ale#path#Simplify( \ g:dir \ . '/htmlhint_paths/node_modules/.bin/htmlhint' \) let g:config_path = ale#path#Simplify( \ g:dir \ . '/htmlhint_paths/with_config/.htmlhintrc' \) After: Restore unlet! g:node_executable unlet! g:config_path call ale#test#RestoreDirectory() call ale#linter#Reset() Execute(The default command should be correct): AssertEqual \ ale#Escape(g:node_executable) . ' --format=unix %t', \ ale_linters#html#htmlhint#GetCommand(bufnr('')) Execute(The global executable should be uesd if the option is set): let g:ale_html_htmlhint_executable = 'foo' let g:ale_html_htmlhint_use_global = 1 AssertEqual \ ale#Escape('foo') . ' --format=unix %t', \ ale_linters#html#htmlhint#GetCommand(bufnr('')) " This is so old configurations which might include this still work. Execute(--format=unix should be removed from the options if added): let g:ale_html_htmlhint_options = '--format=unix' AssertEqual \ ale#Escape(g:node_executable) . ' --format=unix %t', \ ale_linters#html#htmlhint#GetCommand(bufnr('')) Execute(The configuration file should be automatically detected): call ale#test#SetFilename('htmlhint_paths/with_config/test.html') AssertEqual \ ale#Escape(g:node_executable) \ . ' --config ' . ale#Escape(g:config_path) \ . ' --format=unix %t', \ ale_linters#html#htmlhint#GetCommand(bufnr('')) " This is so old configurations which might include the config will work. Execute(The configuration file should be configurable through the options variable): call ale#test#SetFilename('htmlhint_paths/with_config/test.html') let g:ale_html_htmlhint_options = '--config=/foo/bar/.htmlhintrc' AssertEqual \ ale#Escape(g:node_executable) \ . ' --config=/foo/bar/.htmlhintrc' \ . ' --format=unix %t', \ ale_linters#html#htmlhint#GetCommand(bufnr(''))