File tree Expand file tree Collapse file tree 2 files changed +41
-2
lines changed
Expand file tree Collapse file tree 2 files changed +41
-2
lines changed Original file line number Diff line number Diff line change @@ -32,10 +32,10 @@ def fix_whitespace(code: str) -> str:
3232 code = re .sub (r'[ ]+\n' , '\n ' , code )
3333
3434 # Ensure at most two blank lines before top level definitions.
35- code = re .sub (r'\s+\n\n\ n(class|def|@)' , r'\n\n\n\1' , code )
35+ code = re .sub (r'\s+\n\s*\n\s*\ n(class|def|@|# )' , r'\n\n\n\1' , code )
3636
3737 # Ensure at most one line before nested definitions.
38- code = re .sub (r'\s+\n\n( )+(class|def|@)' , r'\n\n\1\2' , code )
38+ code = re .sub (r'\s+\n\s*\ n( )+(class|def|@|# )' , r'\n\n\1\2' , code )
3939
4040 # All files shall end in one and exactly one line break.
4141 return f'{ code .rstrip ()} \n '
Original file line number Diff line number Diff line change @@ -88,5 +88,44 @@ def too_far_down(self):
8888 """ )
8989
9090
91+ def test_fix_whitespace_intermediate_whitespace ():
92+ assert formatter .fix_whitespace (textwrap .dedent ("""\
93+ class JustAClass:
94+ def foo(self):
95+ pass
96+ \
97+
98+
99+ @property
100+ def too_far_down(self):
101+ return 42
102+ """ )) == textwrap .dedent ("""\
103+ class JustAClass:
104+ def foo(self):
105+ pass
106+
107+ @property
108+ def too_far_down(self):
109+ return 42
110+ """ )
111+
112+
113+ def test_fix_whitespace_comment ():
114+ assert formatter .fix_whitespace (textwrap .dedent ("""\
115+ def do_something():
116+ do_first_thing()
117+
118+
119+ # Something something something.
120+ do_second_thing()
121+ """ )) == textwrap .dedent ("""\
122+ def do_something():
123+ do_first_thing()
124+
125+ # Something something something.
126+ do_second_thing()
127+ """ )
128+
129+
91130def test_file_newline_ending ():
92131 assert formatter .fix_whitespace ('' ) == '\n '
You can’t perform that action at this time.
0 commit comments