summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDiego Oliveira <contato@diegoholiveira.com>2017-10-22 14:56:09 -0200
committerDiego Oliveira <contato@diegoholiveira.com>2017-10-22 14:56:09 -0200
commit5b986ce5d36e5a49a4c74e68c157cb8244fd7404 (patch)
tree40765ab4f8d5360770108fe4416986b2331867e3
parent47577564a2294668d7997b261e17fd97f0dd1fe6 (diff)
downloadale-5b986ce5d36e5a49a4c74e68c157cb8244fd7404.zip
Fix the regex of phpmd
-rw-r--r--ale_linters/php/phpmd.vim2
-rw-r--r--test/handler/test_php_phpmd_handler.vader24
2 files changed, 25 insertions, 1 deletions
diff --git a/ale_linters/php/phpmd.vim b/ale_linters/php/phpmd.vim
index 29d8103a..e4192c70 100644
--- a/ale_linters/php/phpmd.vim
+++ b/ale_linters/php/phpmd.vim
@@ -14,7 +14,7 @@ function! ale_linters#php#phpmd#Handle(buffer, lines) abort
" Matches against lines like the following:
"
" /path/to/some-filename.php:18 message
- let l:pattern = '^.*:\(\d\+\)\t\(.\+\)$'
+ let l:pattern = '^.*:\(\d\+\)\s\+\(.\+\)$'
let l:output = []
for l:match in ale#util#GetMatches(a:lines, l:pattern)
diff --git a/test/handler/test_php_phpmd_handler.vader b/test/handler/test_php_phpmd_handler.vader
new file mode 100644
index 00000000..be36f3db
--- /dev/null
+++ b/test/handler/test_php_phpmd_handler.vader
@@ -0,0 +1,24 @@
+Before:
+ runtime ale_linters/php/phpmd.vim
+
+Execute(The php static analyzer handler should parse errors from phpmd):
+ AssertEqual
+ \ [
+ \ {
+ \ 'lnum': 22,
+ \ 'type': 'W',
+ \ 'text': "Avoid unused local variables such as '$response'.",
+ \ },
+ \ {
+ \ 'lnum': 14,
+ \ 'type': 'W',
+ \ 'text': "The method test uses an else expression. Else is never necessary and you can simplify the code to work without else.",
+ \ },
+ \ ],
+ \ ale_linters#php#phpmd#Handle(347, [
+ \ "example.php:22 Avoid unused local variables such as '$response'.",
+ \ "example.php:14 The method test uses an else expression. Else is never necessary and you can simplify the code to work without else.",
+ \ ])
+
+After:
+ call ale#linter#Reset()