Skip to content

Commit

Permalink
Merge pull request #295 from khairihafsham/add-e306
Browse files Browse the repository at this point in the history
Add E306
  • Loading branch information
myint committed Jan 17, 2017
2 parents aa92f3b + 86c6bcf commit f8ea7c1
Show file tree
Hide file tree
Showing 5 changed files with 71 additions and 1 deletion.
1 change: 1 addition & 0 deletions README.rst
Expand Up @@ -204,6 +204,7 @@ autopep8 fixes the following issues_ reported by pycodestyle_::
E302 - Add missing 2 blank lines.
E303 - Remove extra blank lines.
E304 - Remove blank line following function decorator.
E306 - Expected 1 blank line before a nested definition
E401 - Put imports on separate lines.
E501 - Try to make lines fit within --max-line-length characters.
E502 - Remove extraneous escape of newline.
Expand Down
3 changes: 2 additions & 1 deletion autopep8.py
Expand Up @@ -400,7 +400,7 @@ class FixPEP8(object):
- e251
- e261,e262
- e271,e272,e273,e274
- e301,e302,e303,e304,e305
- e301,e302,e303,e304,e306
- e401
- e502
- e701,e702
Expand Down Expand Up @@ -455,6 +455,7 @@ def __init__(self, filename,
self.fix_e272 = self.fix_e271
self.fix_e273 = self.fix_e271
self.fix_e274 = self.fix_e271
self.fix_e306 = self.fix_e301
self.fix_e501 = (
self.fix_long_line_logically if
options and (options.aggressive >= 2 or options.experimental) else
Expand Down
16 changes: 16 additions & 0 deletions test/suite/E30.py
Expand Up @@ -73,6 +73,22 @@ def a():
print
#:

#: E306


def test_descriptors(arg):

class descriptor(object):
def __init__(self, fn):
self.fn = fn
def __get__(self, obj, owner):
if obj is not None:
return self.fn(obj, obj)
else:
return self
def method(self):
return 'method'


#: E304:3:1
@decorator
Expand Down
18 changes: 18 additions & 0 deletions test/suite/out/E30.py
Expand Up @@ -89,6 +89,24 @@ def a():
print
#:

#: E306


def test_descriptors(arg):

class descriptor(object):
def __init__(self, fn):
self.fn = fn

def __get__(self, obj, owner):
if obj is not None:
return self.fn(obj, obj)
else:
return self

def method(self):
return 'method'


#: E304:3:1
@decorator
Expand Down
34 changes: 34 additions & 0 deletions test/test_autopep8.py
Expand Up @@ -2115,6 +2115,40 @@ def test_e274(self):
with autopep8_context(line) as result:
self.assertEqual(fixed, result)

def test_e306(self):
line = """
def test_descriptors(self):
class descriptor(object):
def __init__(self, fn):
self.fn = fn
def __get__(self, obj, owner):
if obj is not None:
return self.fn(obj, obj)
else:
return self
def method(self):
return 'method'
"""
fixed = """
def test_descriptors(self):
class descriptor(object):
def __init__(self, fn):
self.fn = fn
def __get__(self, obj, owner):
if obj is not None:
return self.fn(obj, obj)
else:
return self
def method(self):
return 'method'
"""
with autopep8_context(line) as result:
self.assertEqual(fixed, result)

def test_e301(self):
line = 'class k:\n s = 0\n def f():\n print 1\n'
fixed = 'class k:\n s = 0\n\n def f():\n print 1\n'
Expand Down

0 comments on commit f8ea7c1

Please sign in to comment.