Better phpstan default configuration (#2444)

* Use phpstan config file as default whenever possible + report as error
This commit is contained in:
Julien Deniau
2019-05-02 00:14:39 +02:00
committed by w0rp
parent 4c6f67a3d0
commit c6aae3bcfc
3 changed files with 58 additions and 17 deletions

View File

@@ -1,34 +1,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 -l4 --errorFormat raw %s'
\ ale#Escape('phpstan_test') . ' analyze --no-progress --errorFormat raw -l 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 -l3 --errorFormat raw %s'
\ ale#Escape('phpstan') . ' analyze --no-progress --errorFormat raw -l 3 %s'
Execute(Custom phpstan configuration file):
let g:ale_php_phpstan_configuration = 'phpstan_config'
AssertLinter 'phpstan',
\ ale#Escape('phpstan') . ' analyze -l4 --errorFormat raw -c phpstan_config %s'
\ ale#Escape('phpstan') . ' analyze --no-progress --errorFormat raw -c phpstan_config -l 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 -l4 --error-format raw %s'
\ ale#Escape('phpstan') . ' analyze --no-progress --error-format raw -l 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 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 phpstan.custom.neon %s'
\ ]