mirror of
https://github.com/dense-analysis/ale.git
synced 2025-12-24 04:51:29 +08:00
69
test/handler/test_reek_handler.vader
Normal file
69
test/handler/test_reek_handler.vader
Normal file
@@ -0,0 +1,69 @@
|
||||
Before:
|
||||
runtime ale_linters/ruby/reek.vim
|
||||
|
||||
After:
|
||||
call ale#linter#Reset()
|
||||
|
||||
Execute(The reek handler should parse JSON correctly, with only context enabled):
|
||||
let g:ale_ruby_reek_show_context = 1
|
||||
let g:ale_ruby_reek_show_wiki_link = 0
|
||||
|
||||
AssertEqual
|
||||
\ [
|
||||
\ {
|
||||
\ 'lnum': 12,
|
||||
\ 'text': 'Rule1: Context#method violates rule number one',
|
||||
\ 'type': 'W',
|
||||
\ },
|
||||
\ {
|
||||
\ 'lnum': 34,
|
||||
\ 'text': 'Rule2: Context#method violates rule number two',
|
||||
\ 'type': 'W',
|
||||
\ },
|
||||
\ {
|
||||
\ 'lnum': 56,
|
||||
\ 'text': 'Rule2: Context#method violates rule number two',
|
||||
\ 'type': 'W',
|
||||
\ },
|
||||
\ ],
|
||||
\ ale_linters#ruby#reek#Handle(347, [
|
||||
\ '[{"context":"Context#method","lines":[12],"message":"violates rule number one","smell_type":"Rule1","source":"/home/user/file.rb","parameter":"bad parameter","wiki_link":"https://example.com/Rule1.md"},{"context":"Context#method","lines":[34, 56],"message":"violates rule number two","smell_type":"Rule2","source":"/home/user/file.rb","name":"bad code","count":2,"wiki_link":"https://example.com/Rule1.md"}]'
|
||||
\ ])
|
||||
|
||||
Execute(The reek handler should parse JSON correctly, with no context or wiki links):
|
||||
let g:ale_ruby_reek_show_context = 0
|
||||
let g:ale_ruby_reek_show_wiki_link = 0
|
||||
|
||||
AssertEqual
|
||||
\ [
|
||||
\ {
|
||||
\ 'lnum': 12,
|
||||
\ 'text': 'Rule1: violates rule number one',
|
||||
\ 'type': 'W',
|
||||
\ },
|
||||
\ ],
|
||||
\ ale_linters#ruby#reek#Handle(347, [
|
||||
\ '[{"context":"Context#method","lines":[12],"message":"violates rule number one","smell_type":"Rule1","source":"/home/user/file.rb","parameter":"bad parameter","wiki_link":"https://example.com/Rule1.md"}]'
|
||||
\ ])
|
||||
|
||||
Execute(The reek handler should parse JSON correctly, with both context and wiki links):
|
||||
let g:ale_ruby_reek_show_context = 1
|
||||
let g:ale_ruby_reek_show_wiki_link = 1
|
||||
|
||||
AssertEqual
|
||||
\ [
|
||||
\ {
|
||||
\ 'lnum': 12,
|
||||
\ 'text': 'Rule1: Context#method violates rule number one [https://example.com/Rule1.md]',
|
||||
\ 'type': 'W',
|
||||
\ },
|
||||
\ ],
|
||||
\ ale_linters#ruby#reek#Handle(347, [
|
||||
\ '[{"context":"Context#method","lines":[12],"message":"violates rule number one","smell_type":"Rule1","source":"/home/user/file.rb","parameter":"bad parameter","wiki_link":"https://example.com/Rule1.md"}]'
|
||||
\ ])
|
||||
|
||||
Execute(The reek handler should parse JSON correctly when there is no output from reek):
|
||||
AssertEqual
|
||||
\ [],
|
||||
\ ale_linters#ruby#reek#Handle(347, [
|
||||
\ ])
|
||||
Reference in New Issue
Block a user