/ test / handler / test_ameba_handler.vader
test_ameba_handler.vader
 1  Before:
 2    runtime ale_linters/crystal/ameba.vim
 3  
 4  After:
 5    unlet! g:lines
 6    call ale#linter#Reset()
 7  
 8  Execute(The ameba handler should parse lines correctly):
 9    AssertEqual
10    \ [
11    \   {
12    \     'lnum': 24,
13    \     'col': 28,
14    \     'end_col': 29,
15    \     'text': 'Trailing whitespace detected',
16    \     'code': 'Layout/TrailingWhitespace',
17    \     'type': 'W',
18    \   },
19    \ ],
20    \ ale_linters#crystal#ameba#HandleAmebaOutput(123, [
21    \ '{"sources":[{"path":"my_file_with_issues.cr","issues":[{"rule_name":"Layout/TrailingWhitespace","message":"Trailing whitespace detected","location":{"line":24,"column":28},"end_location":{"line":null,"column":null}}]},{"path":"my_file_without_issues.cr","issues":[]}],"metadata":{"ameba_version":"0.8.1","crystal_version":"0.26.1"},"summary":{"target_sources_count":2,"issues_count":1}}'
22    \ ])
23  
24  Execute(The ameba handler should handle when files are checked and no offenses are found):
25    AssertEqual
26    \ [],
27    \ ale_linters#crystal#ameba#HandleAmebaOutput(123, [
28    \ '{"sources":[{"path":"my_file_with_issues.cr",issues":[]},{"path":"my_file_without_issues.cr",issues":[]}],"metadata":{ameba_version":"0.8.1",crystal_version":"0.26.1"},"summary":{target_sources_count":2,issues_count":0}}'
29    \ ])
30  
31  Execute(The ameba handler should handle when no files are checked):
32    AssertEqual
33    \ [],
34    \ ale_linters#crystal#ameba#HandleAmebaOutput(123, [
35    \ '{"sources":[],"metadata":{ameba_version":"0.8.1",crystal_version":"0.26.1"},"summary":{target_sources_count":0,issues_count":0}}'
36    \ ])
37  
38  Execute(The ameba handler should handle blank output without any errors):
39    AssertEqual
40    \ [],
41    \ ale_linters#crystal#ameba#HandleAmebaOutput(123, ['{}'])
42    AssertEqual
43    \ [],
44    \ ale_linters#crystal#ameba#HandleAmebaOutput(123, [])