Skip to content

Commit 7acd75a

Browse files
Make a minor adjustment to the whitespace stripper. (#31)
1 parent 64096dc commit 7acd75a

File tree

2 files changed

+41
-2
lines changed

2 files changed

+41
-2
lines changed

packages/gapic-generator/gapic/generator/formatter.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff 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'

packages/gapic-generator/tests/unit/generator/test_formatter.py

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff 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+
91130
def test_file_newline_ending():
92131
assert formatter.fix_whitespace('') == '\n'

0 commit comments

Comments
 (0)