summaryrefslogtreecommitdiff
path: root/test/linter/test_luacheck.vader
blob: 1d7276b7950978584cf7b2ff72b62c2174eb450e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
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 -'