Before:
call ale#assert#SetUpLinterTest('html', 'htmlhint')
call ale#test#SetFilename('../test-files/htmlhint/test.html')
let g:node_executable = ale#path#Simplify(
\ g:dir . '/../test-files/htmlhint/node_modules/.bin/htmlhint'
\)
let g:config_path = ale#path#Simplify(
\ g:dir . '/../test-files/htmlhint/with_config/.htmlhintrc'
\)
After:
unlet! g:node_executable
unlet! g:config_path
call ale#assert#TearDownLinterTest()
Execute(The default command should be correct):
AssertLinter g:node_executable,
\ ale#Escape(g:node_executable) . ' --format=unix %t'
Execute(The global executable should be used if the option is set):
let g:ale_html_htmlhint_executable = 'foo'
let g:ale_html_htmlhint_use_global = 1
AssertLinter 'foo', ale#Escape('foo') . ' --format=unix %t',
" 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'
AssertLinter g:node_executable,
\ ale#Escape(g:node_executable) . ' --format=unix %t'
Execute(The configuration file should be automatically detected):
call ale#test#SetFilename('../test-files/htmlhint/with_config/test.html')
AssertLinter g:node_executable,
\ ale#Escape(g:node_executable)
\ . ' --config ' . ale#Escape(g:config_path)
\ . ' --format=unix %t'
" 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('../test-files/htmlhint/with_config/test.html')
let g:ale_html_htmlhint_options = '--config=/foo/bar/.htmlhintrc'
AssertLinter g:node_executable,
\ ale#Escape(g:node_executable)
\ . ' --config=/foo/bar/.htmlhintrc'
\ . ' --format=unix %t'