Skip to content
This repository was archived by the owner on Jul 11, 2022. It is now read-only.

Commit 29e97d1

Browse files
csurferambv
authored andcommitted
[pytest-dev#154] Handle comments between decorators properly (pytest-dev#166)
1 parent 337a419 commit 29e97d1

File tree

3 files changed

+20
-0
lines changed

3 files changed

+20
-0
lines changed

black.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1044,6 +1044,10 @@ def _maybe_empty_lines(self, current_line: Line) -> Tuple[int, int]:
10441044
# Don't insert empty lines between decorators.
10451045
return 0, 0
10461046

1047+
if is_decorator and self.previous_line and self.previous_line.is_comment:
1048+
# Don't insert empty lines between decorator comments.
1049+
return 0, 0
1050+
10471051
newlines = 2
10481052
if current_line.depth:
10491053
newlines -= 1

tests/comments6.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
@property
2+
# TODO: X
3+
@property
4+
# TODO: Y
5+
# TODO: Z
6+
@property
7+
def foo():
8+
pass

tests/test_black.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -626,6 +626,14 @@ def test_check_diff_use_together(self) -> None:
626626
)
627627
self.assertEqual(result.exit_code, 1)
628628

629+
@patch("black.dump_to_file", dump_to_stderr)
630+
def test_comment_in_decorator(self) -> None:
631+
source, expected = read_data("comments6")
632+
actual = fs(source)
633+
self.assertFormatEqual(expected, actual)
634+
black.assert_equivalent(source, actual)
635+
black.assert_stable(source, actual, line_length=ll)
636+
629637

630638
if __name__ == "__main__":
631639
unittest.main()

0 commit comments

Comments
 (0)