summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnthony Sottile <asottile@umich.edu>2019-01-30 07:29:05 +0000
committerAnthony Sottile <asottile@umich.edu>2019-01-30 07:29:05 +0000
commited3b133227f60a57eb6d18ca0ef6520d0be322b7 (patch)
tree4d814029bf14e2e771e8cfe07767d963bc7926ea
parent22f16e4081e9df63c68279c2c14bc1dd6807a5a0 (diff)
parent0c470a65d77dc04e0fc3d97af9c76a4512399d2a (diff)
downloadflake8-ed3b133227f60a57eb6d18ca0ef6520d0be322b7.tar.gz
Merge branch 'capitalized_filenames' into 'master'
Allow capitalized filenames in per-file-ignores Closes #488 See merge request pycqa/flake8!290
-rw-r--r--src/flake8/utils.py2
-rw-r--r--tests/unit/test_utils.py13
2 files changed, 11 insertions, 4 deletions
diff --git a/src/flake8/utils.py b/src/flake8/utils.py
index 502e1ca..bdd7a0d 100644
--- a/src/flake8/utils.py
+++ b/src/flake8/utils.py
@@ -51,7 +51,7 @@ _Token = collections.namedtuple("Token", ("tp", "src"))
_CODE, _FILE, _COLON, _COMMA, _WS = "code", "file", "colon", "comma", "ws"
_EOF = "eof"
_FILE_LIST_TOKEN_TYPES = [
- (re.compile(r"[A-Z][0-9]*"), _CODE),
+ (re.compile(r"[A-Z][0-9]*(?=$|\s|,)"), _CODE),
(re.compile(r"[^\s:,]+"), _FILE),
(re.compile(r"\s*:\s*"), _COLON),
(re.compile(r"\s*,\s*"), _COMMA),
diff --git a/tests/unit/test_utils.py b/tests/unit/test_utils.py
index afd1b43..b0eac9a 100644
--- a/tests/unit/test_utils.py
+++ b/tests/unit/test_utils.py
@@ -72,10 +72,18 @@ def test_parse_comma_separated_list(value, expected):
'f.py:\n E,F\ng.py:\n G,H',
[('f.py', ['E', 'F']), ('g.py', ['G', 'H'])],
),
+ # capitalized filenames are ok too
+ (
+ 'F.py,G.py: F,G',
+ [('F.py', ['F', 'G']), ('G.py', ['F', 'G'])],
+ ),
# it's easier to allow zero filenames or zero codes than forbid it
(':E', []), ('f.py:', []),
(':E f.py:F', [('f.py', ['F'])]),
('f.py: g.py:F', [('g.py', ['F'])]),
+ ('f.py:E:', []),
+ ('f.py:E.py:', []),
+ ('f.py:Eg.py:F', [('Eg.py', ['F'])]),
# sequences are also valid (?)
(
['f.py:E,F', 'g.py:G,H'],
@@ -96,10 +104,9 @@ def test_parse_files_to_codes_mapping(value, expected):
# eof while looking for filenames
'f.py', 'f.py:E,g.py'
# colon while looking for codes
- 'f.py::', 'f.py:E:',
-
+ 'f.py::',
# no separator between
- 'f.py:Eg.py:F', 'f.py:E1F1',
+ 'f.py:E1F1',
),
)
def test_invalid_file_list(value):