--- /dev/null
+Before:
+ call ale#assert#SetUpLinterTest('lua', 'luacheck')
+ " Default to testing linting Lua not in Vim directories.
+ call ale#test#SetFilename('/test.lua')
+
+After:
+ " Clear the variable for saving the result of the runtime check.
+ " We don't want to cache the result between tests.
+ unlet! b:ale_in_runtimepath
+ call ale#assert#TearDownLinterTest()
+
+Execute(The luacheck default command should be correct):
+ AssertLinter 'luacheck',
+ \ ale#Escape('luacheck') . ' --formatter plain --codes --filename %s -'
+
+Execute(You should be able to set luacheck options):
+ let g:ale_lua_luacheck_options = '--config filename'
+
+ AssertLinter 'luacheck',
+ \ ale#Escape('luacheck')
+ \ . ' --config filename'
+ \ . ' --formatter plain --codes --filename %s -'
+
+Execute(The luacheck executable should be configurable):
+ let g:ale_lua_luacheck_executable = 'luacheck.sh'
+
+ AssertLinter 'luacheck.sh',
+ \ ale#Escape('luacheck.sh') . ' --formatter plain --codes --filename %s -'
+
+Execute(The luacheck command should include vim as a global if in runtimepath):
+ call ale#test#SetFilename('test.lua')
+ AssertLinter 'luacheck',
+ \ ale#Escape('luacheck') . ' --globals vim --formatter plain --codes --filename %s -'
+
+Execute(The default Vim globals should not be set if globals are already set):
+ call ale#test#SetFilename('test.lua')
+ let g:ale_lua_luacheck_options = '--globals foo'
+ AssertLinter 'luacheck',
+ \ ale#Escape('luacheck') . ' --globals foo --formatter plain --codes --filename %s -'