Skip to content

Commit

Permalink
Fix previous commit
Browse files Browse the repository at this point in the history
Code does run on PyPy
Regexp can now be properly written and tested.
  • Loading branch information
SylvainDe committed Jan 17, 2017
1 parent c74bffe commit d92e73d
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 2 deletions.
1 change: 1 addition & 0 deletions didyoumean/didyoumean_re.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@
UNEXPECTED_KEYWORDARG2_RE = r"^'(?P<arg>{0})' is an " \
r"invalid keyword argument for this function$".format(ARG_NAME)
UNEXPECTED_KEYWORDARG3_RE = r"^invalid keyword arguments to (\w+)\(\)$"
FUNC_TAKES_NO_KEYWORDARG_RE = r"^(\w+)\(\) takes no keyword arguments$"
NOMODULE_RE = r"^No module named '?({0})'?$".format(MODULE_NAME)
CANNOTIMPORT_RE = r"^cannot import name '?(\w+)'?$"
INDEXOUTOFRANGE_RE = r"^list index out of range$"
Expand Down
8 changes: 8 additions & 0 deletions didyoumean/didyoumean_re_tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -241,6 +241,14 @@ def test_unexpected_kw_arg3(self):
results = (groups, dict())
self.re_matches(msg, re.UNEXPECTED_KEYWORDARG3_RE, results)

def test_func_takes_no_kwarg(self):
"""Test FUNC_TAKES_NO_KEYWORDARG_RE."""
# Cython
msg = "get() takes no keyword arguments"
groups = ('get', )
results = (groups, dict())
self.re_matches(msg, re.FUNC_TAKES_NO_KEYWORDARG_RE, results)

def test_zero_length_field(self):
"""Test ZERO_LEN_FIELD_RE."""
# Python 2.6
Expand Down
5 changes: 3 additions & 2 deletions didyoumean/didyoumean_sugg_tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -279,7 +279,7 @@ def get_exception(code):
UNEXPECTEDKWARG = (TypeError, re.UNEXPECTED_KEYWORDARG_RE)
UNEXPECTEDKWARG2 = (TypeError, re.UNEXPECTED_KEYWORDARG2_RE)
UNEXPECTEDKWARG3 = (TypeError, re.UNEXPECTED_KEYWORDARG3_RE)
NOKWARGS = (TypeError, r'^get\(\) takes no keyword arguments$')
NOKWARGS = (TypeError, re.FUNC_TAKES_NO_KEYWORDARG_RE)
UNSUPPORTEDOPERAND = (TypeError, re.UNSUPPORTED_OP_RE)
BADOPERANDUNARY = (TypeError, re.BAD_OPERAND_UNARY_RE)
OBJECTDOESNOTSUPPORT = (TypeError, re.OBJ_DOES_NOT_SUPPORT_RE)
Expand Down Expand Up @@ -1484,7 +1484,8 @@ def test_c_func_takes_no_keyword_arguments(self):
code = 'dict().get(0, {0}None)'
good_code, bad_code = format_str(code, '', 'default=')
self.runs(good_code)
self.throws(bad_code, NOKWARGS, [])
self.throws(bad_code, NOKWARGS, interpreters='cython')
self.runs(bad_code, interpreters='pypy')

def test_iter_cannot_be_interpreted_as_int(self):
"""Trying to call `range(len(iterable))` (bad) and forget the len."""
Expand Down

0 comments on commit d92e73d

Please sign in to comment.