mirror of
https://github.com/PyCQA/flake8.git
synced 2026-04-09 14:24:17 +00:00
Fix zero-indexed column numbering
We accidentally changed column numbering from one-indexed to zero-indexed.
This commit is contained in:
parent
ec6165e9d8
commit
6eca38f2f2
5 changed files with 11 additions and 4 deletions
|
|
@ -3,6 +3,9 @@
|
||||||
|
|
||||||
- Fix local config file discovery. (See also `GitLab#181`_)
|
- Fix local config file discovery. (See also `GitLab#181`_)
|
||||||
|
|
||||||
|
- Fix indexing of column numbers. We accidentally were starting column indices
|
||||||
|
at 0 instead of 1.
|
||||||
|
|
||||||
|
|
||||||
.. links
|
.. links
|
||||||
.. _GitLab#181:
|
.. _GitLab#181:
|
||||||
|
|
|
||||||
|
|
@ -139,7 +139,9 @@ class BaseFormatter(object):
|
||||||
if not self.options.show_source or error.physical_line is None:
|
if not self.options.show_source or error.physical_line is None:
|
||||||
return ''
|
return ''
|
||||||
|
|
||||||
pointer = (' ' * error.column_number) + '^'
|
# Because column numbers are 1-indexed, we need to remove one to get
|
||||||
|
# the proper number of space characters.
|
||||||
|
pointer = (' ' * (error.column_number - 1)) + '^'
|
||||||
# Physical lines have a newline at the end, no need to add an extra
|
# Physical lines have a newline at the end, no need to add an extra
|
||||||
# one
|
# one
|
||||||
return error.physical_line + pointer
|
return error.physical_line + pointer
|
||||||
|
|
|
||||||
|
|
@ -258,7 +258,9 @@ class StyleGuide(object):
|
||||||
:rtype:
|
:rtype:
|
||||||
int
|
int
|
||||||
"""
|
"""
|
||||||
error = Error(code, filename, line_number, column_number, text,
|
# NOTE(sigmavirus24): Apparently we're provided with 0-indexed column
|
||||||
|
# numbers so we have to offset that here.
|
||||||
|
error = Error(code, filename, line_number, column_number + 1, text,
|
||||||
physical_line)
|
physical_line)
|
||||||
error_is_selected = (self.should_report_error(error.code) is
|
error_is_selected = (self.should_report_error(error.code) is
|
||||||
Decision.Selected)
|
Decision.Selected)
|
||||||
|
|
|
||||||
|
|
@ -73,7 +73,7 @@ def test_show_source_updates_physical_line_appropriately(line, column):
|
||||||
error = style_guide.Error('A000', 'file.py', 1, column, 'error', line)
|
error = style_guide.Error('A000', 'file.py', 1, column, 'error', line)
|
||||||
output = formatter.show_source(error)
|
output = formatter.show_source(error)
|
||||||
_, pointer = output.rsplit('\n', 1)
|
_, pointer = output.rsplit('\n', 1)
|
||||||
assert pointer.count(' ') == column
|
assert pointer.count(' ') == (column - 1)
|
||||||
|
|
||||||
|
|
||||||
def test_write_uses_an_output_file():
|
def test_write_uses_an_output_file():
|
||||||
|
|
|
||||||
|
|
@ -176,7 +176,7 @@ def test_handle_error_notifies_listeners(select_list, ignore_list, error_code):
|
||||||
formatter=formatter)
|
formatter=formatter)
|
||||||
|
|
||||||
with mock.patch('linecache.getline', return_value=''):
|
with mock.patch('linecache.getline', return_value=''):
|
||||||
guide.handle_error(error_code, 'stdin', 1, 1, 'error found')
|
guide.handle_error(error_code, 'stdin', 1, 0, 'error found')
|
||||||
error = style_guide.Error(error_code, 'stdin', 1, 1, 'error found',
|
error = style_guide.Error(error_code, 'stdin', 1, 1, 'error found',
|
||||||
None)
|
None)
|
||||||
listener_trie.notify.assert_called_once_with(error_code, error)
|
listener_trie.notify.assert_called_once_with(error_code, error)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue