125:751f50b9b5fa
Anton Shestakov <av6@dwimlabs.net>, Thu, 07 Jul 2016 14:24:22 +0800
viewer: remove special case for cleanup task collapser Now that final "job finished" metadata line is not in any task, cleanup is empty and won't get the collapser naturally.

next change 140:fa50e7dd9d91
previous change 108:4fced0617745

tests/test_incoming.py

Permissions: -rw-r--r--

Other formats: Feeds:
from incoming import match_linter_output, parse_project_url
def test_match_linter_output():
mlo = match_linter_output
usual_keys = ['cls', 'filename', 'line_number', 'link_end', 'link_start']
errors, warnings, extra = mlo('hello.py:42:1: W123 clowntown ahoy')
assert errors == 0
assert warnings == 1
assert sorted(extra.keys()) == usual_keys
assert extra['cls'] == 'warning'
assert extra['filename'] == 'hello.py'
assert extra['line_number'] == 42
assert extra['link_start'] == 0
assert extra['link_end'] == 11
errors, warnings, extra = mlo('file with spaces:007:001: [error] oops!')
assert errors == 1
assert warnings == 0
assert sorted(extra.keys()) == usual_keys
assert extra['cls'] == 'error'
assert extra['filename'] == 'file with spaces'
assert extra['line_number'] == 7
assert extra['link_start'] == 0
assert extra['link_end'] == 20
errors, warnings, extra = mlo('requirements.txt:1:1: PIL is obsolete.')
assert errors == 0
assert warnings == 1
assert sorted(extra.keys()) == usual_keys
assert extra['cls'] == 'warning'
assert extra['filename'] == 'requirements.txt'
assert extra['line_number'] == 1
assert extra['link_start'] == 0
assert extra['link_end'] == 18
errors, warnings, extra = mlo('ham.lua:414:90: (E101) foo is not good')
assert errors == 1
assert warnings == 0
assert sorted(extra.keys()) == usual_keys
assert extra['cls'] == 'error'
assert extra['filename'] == 'ham.lua'
assert extra['line_number'] == 414
assert extra['link_start'] == 0
assert extra['link_end'] == 11
errors, warnings, extra = mlo('backwards.js:9091:1: not perfect (W201)')
assert errors == 0
assert warnings == 1
assert sorted(extra.keys()) == usual_keys
assert extra['cls'] == 'warning'
assert extra['filename'] == 'backwards.js'
assert extra['line_number'] == 9091
assert extra['link_start'] == 0
assert extra['link_end'] == 17
def test_parse_project_url():
result = parse_project_url('https://example.com/alice/hello-world')
assert result == ('example.com', 'alice', 'hello-world')
result = parse_project_url('~alice/hello-world')
assert result == ('self', '~alice', 'hello-world')
result = parse_project_url('https://code.example.com/hello-world')
assert result == ('code.example.com', None, 'hello-world')
result = parse_project_url('https://example.com/scm/projects/hello-world')
assert result == ('example.com', 'scm', 'projects/hello-world')
result = parse_project_url('https://example.com///hello-world//')
assert result == ('example.com', None, 'hello-world')