/ test / handler / test_vulture_handler.vader
test_vulture_handler.vader
 1  Before:
 2    runtime ale_linters/python/vulture.vim
 3  
 4    call ale#test#SetDirectory('/testplugin/test/handler')
 5  
 6  After:
 7    Restore
 8  
 9    call ale#test#RestoreDirectory()
10    call ale#linter#Reset()
11  
12  Execute(Basic vulture check with relative path in result should be handled):
13    call ale#test#SetFilename('something_else.py')
14    AssertEqual
15    \ [
16    \   {
17    \     'lnum': 34,
18    \     'text': 'unused variable ''foo'' (60% confidence)',
19    \     'type': 'W',
20    \     'filename': ale#path#Simplify(g:dir . '/something_else.py'),
21    \   },
22    \ ],
23    \ ale_linters#python#vulture#Handle(bufnr(''), [
24    \   './something_else.py:34: unused variable ''foo'' (60% confidence)',
25    \ ])
26  
27  Execute(Basic vulture check with absolute path in result should be handled):
28    call ale#test#SetFilename('something_else.py')
29    AssertEqual
30    \ [
31    \   {
32    \     'lnum': 34,
33    \     'text': 'unused variable ''foo'' (60% confidence)',
34    \     'type': 'W',
35    \     'filename': ale#path#Simplify(g:dir . '/something_else.py'),
36    \   },
37    \ ],
38    \ ale_linters#python#vulture#Handle(bufnr(''), [
39    \   ale#path#Simplify(g:dir . '/something_else.py') . ':34: unused variable ''foo'' (60% confidence)',
40    \ ])
41  
42  Execute(Vulture check for two files should be handled):
43    call ale#test#SetFilename('something_else.py')
44    AssertEqual
45    \ [
46    \   {
47    \     'lnum': 34,
48    \     'text': 'unused variable ''foo'' (60% confidence)',
49    \     'type': 'W',
50    \     'filename': ale#path#Simplify(g:dir . '/something_else.py'),
51    \   },
52    \   {
53    \     'lnum': 12,
54    \     'text': 'unused variable ''bar'' (60% confidence)',
55    \     'type': 'W',
56    \     'filename': ale#path#Simplify(g:dir . '/second_one.py'),
57    \   },
58    \ ],
59    \ ale_linters#python#vulture#Handle(bufnr(''), [
60    \   './something_else.py:34: unused variable ''foo'' (60% confidence)',
61    \   './second_one.py:12: unused variable ''bar'' (60% confidence)',
62    \ ])
63  
64  
65  Execute(Vulture exception should be handled):
66    call ale#test#SetFilename('something_else.py')
67    AssertEqual
68    \ [
69    \   {
70    \     'lnum': 1,
71    \     'text': 'BaddestException: Everything gone wrong (See :ALEDetail)',
72    \     'detail': join([
73    \       'Traceback (most recent call last):',
74    \       '  File "/usr/lib/python3.6/site-packages/vulture/__init__.py", line 13, in <module>',
75    \       '    from .core import stuff',
76    \       'BaddestException: Everything gone wrong',
77    \     ], "\n"),
78    \   }
79    \ ],
80    \ ale_linters#python#vulture#Handle(bufnr(''), [
81    \   'Traceback (most recent call last):',
82    \   '  File "/usr/lib/python3.6/site-packages/vulture/__init__.py", line 13, in <module>',
83    \   '    from .core import stuff',
84    \   'BaddestException: Everything gone wrong',
85    \ ])
86  
87  Execute(The vulture handler should handle empty output):
88    AssertEqual
89    \ [],
90    \ ale_linters#python#vulture#Handle(bufnr(''), [])