Download:
child 70:ff099617103f
parent 68:58a9dddf8731
69:4ec316ee87e8
Anton Shestakov <av6@dwimlabs.net>, Sun, 26 Jun 2016 10:04:04 +0800
incoming: save linkstart and linkend for lines (not used yet)

2 файлов изменено, 16 вставок(+), 4 удалений(-) [+]
incoming.py file | annotate | diff | comparison | revisions
tests/test_incoming.py file | annotate | diff | comparison | revisions
--- a/incoming.py Sun Jun 26 09:26:16 2016 +0800
+++ b/incoming.py Sun Jun 26 10:04:04 2016 +0800
@@ -44,6 +44,8 @@
if m is not None:
item['filename'] = m.group('filename')
item['fileline'] = int(m.group('fileline'))
+ item['linkstart'] = m.start('filename')
+ item['linkend'] = m.end('fileline')
rest = line[m.end():]
patterns = (
--- a/tests/test_incoming.py Sun Jun 26 09:26:16 2016 +0800
+++ b/tests/test_incoming.py Sun Jun 26 10:04:04 2016 +0800
@@ -3,37 +3,47 @@
def test_match_linter_output():
mlo = match_linter_output
+ usual_keys = ['cls', 'fileline', 'filename', 'linkend', 'linkstart']
+
errors, warnings, extra = mlo('hello.py:42:1: W123 clowntown ahoy')
assert errors == 0
assert warnings == 1
- assert sorted(extra.keys()) == ['cls', 'fileline', 'filename']
+ assert sorted(extra.keys()) == usual_keys
assert extra['cls'] == 'warning'
assert extra['filename'] == 'hello.py'
assert extra['fileline'] == 42
+ assert extra['linkstart'] == 0
+ assert extra['linkend'] == 11
errors, warnings, extra = mlo('file with spaces:007:001: [error] oops!')
assert errors == 1
assert warnings == 0
- assert sorted(extra.keys()) == ['cls', 'fileline', 'filename']
+ assert sorted(extra.keys()) == usual_keys
assert extra['cls'] == 'error'
assert extra['filename'] == 'file with spaces'
assert extra['fileline'] == 7
+ assert extra['linkstart'] == 0
+ assert extra['linkend'] == 20
errors, warnings, extra = mlo('requirements.txt:1:1: PIL is obsolete.')
assert errors == 0
assert warnings == 1
- assert sorted(extra.keys()) == ['cls', 'fileline', 'filename']
+ assert sorted(extra.keys()) == usual_keys
assert extra['cls'] == 'warning'
assert extra['filename'] == 'requirements.txt'
assert extra['fileline'] == 1
+ assert extra['linkstart'] == 0
+ assert extra['linkend'] == 18
errors, warnings, extra = mlo('ham.lua:414:90: (E101) foo is not good')
assert errors == 1
assert warnings == 0
- assert sorted(extra.keys()) == ['cls', 'fileline', 'filename']
+ assert sorted(extra.keys()) == usual_keys
assert extra['cls'] == 'error'
assert extra['filename'] == 'ham.lua'
assert extra['fileline'] == 414
+ assert extra['linkstart'] == 0
+ assert extra['linkend'] == 11
def test_parse_project_url():