mirror of
https://github.com/PyCQA/flake8.git
synced 2026-03-29 10:36:53 +00:00
Merge branch 'bug/245' into 'master'
Do not print the source when provided with -q When users specify any number of -q's on the command-line, we should not show the source even if they have otherwwise configured Flake8 to do so. Closes #245 See merge request !140
This commit is contained in:
commit
72eecbddcd
3 changed files with 74 additions and 0 deletions
|
|
@ -65,6 +65,10 @@ class FilenameOnly(SimpleFormatter):
|
|||
"""Initialize our set of filenames."""
|
||||
self.filenames_already_printed = set()
|
||||
|
||||
def show_source(self, error):
|
||||
"""Do not include the source code."""
|
||||
pass
|
||||
|
||||
def format(self, error):
|
||||
"""Ensure we only print each error once."""
|
||||
if error.filename not in self.filenames_already_printed:
|
||||
|
|
@ -78,3 +82,7 @@ class Nothing(base.BaseFormatter):
|
|||
def format(self, error):
|
||||
"""Do nothing."""
|
||||
pass
|
||||
|
||||
def show_source(self, error):
|
||||
"""Do not print the source."""
|
||||
pass
|
||||
|
|
|
|||
38
tests/unit/test_filenameonly_formatter.py
Normal file
38
tests/unit/test_filenameonly_formatter.py
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
"""Tests for the FilenameOnly formatter object."""
|
||||
import optparse
|
||||
|
||||
from flake8 import style_guide
|
||||
from flake8.formatting import default
|
||||
|
||||
|
||||
def options(**kwargs):
|
||||
"""Create an optparse.Values instance."""
|
||||
kwargs.setdefault('output_file', None)
|
||||
kwargs.setdefault('tee', False)
|
||||
return optparse.Values(kwargs)
|
||||
|
||||
|
||||
def test_caches_filenames_already_printed():
|
||||
"""Verify we cache filenames when we format them."""
|
||||
formatter = default.FilenameOnly(options())
|
||||
assert formatter.filenames_already_printed == set()
|
||||
|
||||
formatter.format(style_guide.Error('code', 'file.py', 1, 1, 'text', 'l'))
|
||||
assert formatter.filenames_already_printed == {'file.py'}
|
||||
|
||||
|
||||
def test_only_returns_a_string_once_from_format():
|
||||
"""Verify format ignores the second error with the same filename."""
|
||||
formatter = default.FilenameOnly(options())
|
||||
error = style_guide.Error('code', 'file.py', 1, 1, 'text', '1')
|
||||
|
||||
assert formatter.format(error) == 'file.py'
|
||||
assert formatter.format(error) is None
|
||||
|
||||
|
||||
def test_show_source_returns_nothing():
|
||||
"""Verify show_source returns nothing."""
|
||||
formatter = default.FilenameOnly(options())
|
||||
error = style_guide.Error('code', 'file.py', 1, 1, 'text', '1')
|
||||
|
||||
assert formatter.show_source(error) is None
|
||||
28
tests/unit/test_nothing_formatter.py
Normal file
28
tests/unit/test_nothing_formatter.py
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
"""Tests for the Nothing formatter obbject."""
|
||||
import optparse
|
||||
|
||||
from flake8 import style_guide
|
||||
from flake8.formatting import default
|
||||
|
||||
|
||||
def options(**kwargs):
|
||||
"""Create an optparse.Values instance."""
|
||||
kwargs.setdefault('output_file', None)
|
||||
kwargs.setdefault('tee', False)
|
||||
return optparse.Values(kwargs)
|
||||
|
||||
|
||||
def test_format_returns_nothing():
|
||||
"""Verify Nothing.format returns None."""
|
||||
formatter = default.Nothing(options())
|
||||
error = style_guide.Error('code', 'file.py', 1, 1, 'text', '1')
|
||||
|
||||
assert formatter.format(error) is None
|
||||
|
||||
|
||||
def test_show_source_returns_nothing():
|
||||
"""Verify Nothing.show_source returns None."""
|
||||
formatter = default.Nothing(options())
|
||||
error = style_guide.Error('code', 'file.py', 1, 1, 'text', '1')
|
||||
|
||||
assert formatter.show_source(error) is None
|
||||
Loading…
Add table
Add a link
Reference in a new issue