/ test / test_python_traceback.vader
test_python_traceback.vader
 1  Execute(ale#python#HandleTraceback returns empty List for empty lines):
 2    AssertEqual
 3    \  [],
 4    \  ale#python#HandleTraceback([], 10)
 5  
 6  Execute(ale#python#HandleTraceback returns traceback, when present):
 7    AssertEqual
 8    \  [{
 9    \    'lnum': 1,
10    \    'text': 'Exception: Example error (See :ALEDetail)',
11    \    'detail': join([
12    \      'Traceback (most recent call last):',
13    \      '  File "./example.py", line 5, in <module>',
14    \      '    raise Exception(''Example message'')',
15    \      'Exception: Example error',
16    \    ], "\n"),
17    \  }],
18    \  ale#python#HandleTraceback([
19    \    'Traceback (most recent call last):',
20    \    '  File "./example.py", line 5, in <module>',
21    \    '    raise Exception(''Example message'')',
22    \    'Exception: Example error',
23    \  ], 1)
24  
25  " SyntaxError has extra output lines about the source
26  Execute(ale#python#HandleTraceback returns SyntaxError traceback):
27    AssertEqual
28    \  [{
29    \    'lnum': 1,
30    \    'text': 'SyntaxError: invalid syntax (See :ALEDetail)',
31    \    'detail': join([
32    \      'Traceback (most recent call last):',
33    \      '  File "<string>", line 1, in <module>',
34    \      '  File "example.py", line 5',
35    \      '    +',
36    \      '    ^',
37    \      'SyntaxError: invalid syntax',
38    \    ], "\n"),
39    \  }],
40    \  ale#python#HandleTraceback([
41    \    'Traceback (most recent call last):',
42    \    '  File "<string>", line 1, in <module>',
43    \    '  File "example.py", line 5',
44    \    '    +',
45    \    '    ^',
46    \    'SyntaxError: invalid syntax',
47    \  ], 1)
48  
49  Execute(ale#python#HandleTraceback ignores traceback after line limit):
50    AssertEqual
51    \  [],
52    \  ale#python#HandleTraceback([
53    \    '',
54    \    'Traceback (most recent call last):',
55    \    '  File "./example.py", line 5, in <module>',
56    \    '    raise Exception(''Example message'')',
57    \    'Exception: Example error',
58    \  ], 1)
59  
60  Execute(ale#python#HandleTraceback doesn't include later lines in detail):
61    AssertEqual
62    \  [{
63    \    'lnum': 1,
64    \    'text': 'Exception: Example error (See :ALEDetail)',
65    \    'detail': join([
66    \      'Traceback (most recent call last):',
67    \      '  File "./example.py", line 5, in <module>',
68    \      '    raise Exception(''Example message'')',
69    \      'Exception: Example error',
70    \    ], "\n"),
71    \  }],
72    \  ale#python#HandleTraceback([
73    \    'Traceback (most recent call last):',
74    \    '  File "./example.py", line 5, in <module>',
75    \    '    raise Exception(''Example message'')',
76    \    'Exception: Example error',
77    \    'file:1:2: Style issue',
78    \    'file:3:4: Non-style issue',
79    \  ], 1)