summaryrefslogtreecommitdiff
path: root/test/command_callback/test_phpstan_command_callbacks.vader
blob: 3714fc648d6b180a1a2f4d6a1d3148883359e2f5 (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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
Before:
  call delete('./phpstan.neon')
  call ale#assert#SetUpLinterTest('php', 'phpstan')

  GivenCommandOutput ['0.10.2']

After:
  call delete('./phpstan.neon')
  call ale#assert#TearDownLinterTest()

Execute(Custom executables should be used for the executable and command):
  let g:ale_php_phpstan_executable = 'phpstan_test'

  AssertLinter 'phpstan_test',
  \ ale#Escape('phpstan_test') . ' analyze --no-progress --errorFormat raw -l ' . ale#Escape('4') . ' %s'

Execute(project with level set to 3):
  call ale#test#SetFilename('phpstan-test-files/foo/test.php')
  let g:ale_php_phpstan_level = 3

  AssertLinter 'phpstan',
  \ ale#Escape('phpstan') . ' analyze --no-progress --errorFormat raw -l ' . ale#Escape('3') . ' %s'

Execute(Custom phpstan configuration file):
  let g:ale_php_phpstan_configuration = 'phpstan_config'

  AssertLinter 'phpstan',
  \ ale#Escape('phpstan') . ' analyze --no-progress --errorFormat raw -c ' . ale#Escape('phpstan_config') . ' -l ' . ale#Escape('4') . ' %s'

Execute(Choose the right format for error format param):
  GivenCommandOutput ['0.10.3']

  AssertLinter 'phpstan', [
  \ ale#Escape('phpstan') . ' --version',
  \ ale#Escape('phpstan') . ' analyze --no-progress --error-format raw -l ' . ale#Escape('4') . ' %s'
  \ ]

Execute(Configuration file exists in current directory):
  call writefile(['parameters:', '  level: 7'], './phpstan.neon')
  let g:ale_php_phpstan_level = ''
  let g:ale_php_phpstan_configuration = ''

  AssertLinter 'phpstan', [
  \ ale#Escape('phpstan') . ' --version',
  \ ale#Escape('phpstan') . ' analyze --no-progress --errorFormat raw %s'
  \ ]

Execute(Configuration file exists in current directory, but force phpstan level):
  call writefile(['parameters:', '  level: 7'], './phpstan.neon')
  let g:ale_php_phpstan_configuration = ''
  let g:ale_php_phpstan_level = '7'

  AssertLinter 'phpstan', [
  \ ale#Escape('phpstan') . ' --version',
  \ ale#Escape('phpstan') . ' analyze --no-progress --errorFormat raw -l ' . ale#Escape('7') . ' %s'
  \ ]

Execute(Configuration file exists in current directory, but force phpstan configuration):
  call writefile(['parameters:', '  level: 7'], './phpstan.neon')
  let g:ale_php_phpstan_level = ''
  let g:ale_php_phpstan_configuration = 'phpstan.custom.neon'

  AssertLinter 'phpstan', [
  \ ale#Escape('phpstan') . ' --version',
  \ ale#Escape('phpstan') . ' analyze --no-progress --errorFormat raw -c ' . ale#Escape('phpstan.custom.neon') . ' %s'
  \ ]