summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ale_linters/php/phpcs.vim10
-rw-r--r--test/command_callback/test_phpcs_command_callback.vader29
2 files changed, 25 insertions, 14 deletions
diff --git a/ale_linters/php/phpcs.vim b/ale_linters/php/phpcs.vim
index c2c33a1b..11b81e84 100644
--- a/ale_linters/php/phpcs.vim
+++ b/ale_linters/php/phpcs.vim
@@ -10,13 +10,13 @@ call ale#Set('php_phpcs_use_global', get(g:, 'ale_use_global_executables', 0))
function! ale_linters#php#phpcs#GetCommand(buffer) abort
let l:standard = ale#Var(a:buffer, 'php_phpcs_standard')
let l:standard_option = !empty(l:standard)
- \ ? '--standard=' . l:standard
+ \ ? '--standard=' . ale#Escape(l:standard)
\ : ''
- let l:options = ale#Var(a:buffer, 'php_phpcs_options')
- return '%e -s --report=emacs --stdin-path=%s'
- \ . ale#Pad(l:standard_option)
- \ . ale#Pad(l:options)
+ return ale#path#BufferCdString(a:buffer)
+ \ . '%e -s --report=emacs --stdin-path=%s'
+ \ . ale#Pad(l:standard_option)
+ \ . ale#Pad(ale#Var(a:buffer, 'php_phpcs_options'))
endfunction
function! ale_linters#php#phpcs#Handle(buffer, lines) abort
diff --git a/test/command_callback/test_phpcs_command_callback.vader b/test/command_callback/test_phpcs_command_callback.vader
index e5d2f449..48a599e4 100644
--- a/test/command_callback/test_phpcs_command_callback.vader
+++ b/test/command_callback/test_phpcs_command_callback.vader
@@ -11,25 +11,36 @@ Execute(The local phpcs executable should be used):
let g:executable = ale#path#Simplify(g:dir . '/../phpcs-test-files/project-with-phpcs/vendor/bin/phpcs')
- AssertLinter g:executable,
- \ ale#Escape(g:executable) . ' -s --report=emacs --stdin-path=%s'
+ AssertLinter g:executable, ale#path#BufferCdString(bufnr(''))
+ \ . ale#Escape(g:executable)
+ \ . ' -s --report=emacs --stdin-path=%s'
Execute(use_global should override local executable detection):
let g:ale_php_phpcs_use_global = 1
call ale#test#SetFilename('../phpcs-test-files/project-with-phpcs/foo/test.php')
- AssertLinter 'phpcs',
- \ ale#Escape('phpcs') . ' -s --report=emacs --stdin-path=%s'
+ AssertLinter 'phpcs', ale#path#BufferCdString(bufnr(''))
+ \ . ale#Escape('phpcs')
+ \ . ' -s --report=emacs --stdin-path=%s'
Execute(Projects without local executables should use the global one):
call ale#test#SetFilename('../phpcs-test-files/project-without-phpcs/foo/test.php')
- AssertLinter 'phpcs',
- \ ale#Escape('phpcs') . ' -s --report=emacs --stdin-path=%s'
+ AssertLinter 'phpcs', ale#path#BufferCdString(bufnr(''))
+ \ . ale#Escape('phpcs')
+ \ . ' -s --report=emacs --stdin-path=%s'
-Execute(User provided options are used):
+Execute(User provided options should be used):
let g:ale_php_phpcs_options = '--my-user-provided-option my-value'
- AssertLinter 'phpcs',
- \ ale#Escape('phpcs') . ' -s --report=emacs --stdin-path=%s --my-user-provided-option my-value'
+ AssertLinter 'phpcs', ale#path#BufferCdString(bufnr(''))
+ \ . ale#Escape('phpcs')
+ \ . ' -s --report=emacs --stdin-path=%s --my-user-provided-option my-value'
+
+Execute(The _standard option should be used):
+ let g:ale_php_phpcs_standard = 'foobar'
+
+ AssertLinter 'phpcs', ale#path#BufferCdString(bufnr(''))
+ \ . ale#Escape('phpcs')
+ \ . ' -s --report=emacs --stdin-path=%s --standard=' . ale#Escape('foobar')