Commit history before merge: * Accept empty stdin (close #2337) * Update tests/test_black.py * Add changelog * Assert Black reformats an empty string to an empty string (#2337) (#2346) * fix
This commit is contained in:
parent
be16cfa035
commit
017aafea99
@ -6,6 +6,7 @@
|
||||
|
||||
- Add primer support and test for code piped into black via STDIN (#2315)
|
||||
- Fix internal error when `FORCE_OPTIONAL_PARENTHESES` feature is enabled (#2332)
|
||||
- Accept empty stdin (#2346)
|
||||
|
||||
## 21.6b0
|
||||
|
||||
|
@ -803,7 +803,8 @@ def format_stdin_to_stdout(
|
||||
)
|
||||
if write_back == WriteBack.YES:
|
||||
# Make sure there's a newline after the content
|
||||
dst += "" if dst[-1] == "\n" else "\n"
|
||||
if dst and dst[-1] != "\n":
|
||||
dst += "\n"
|
||||
f.write(dst)
|
||||
elif write_back in (WriteBack.DIFF, WriteBack.COLOR_DIFF):
|
||||
now = datetime.utcnow()
|
||||
|
@ -6,6 +6,7 @@
|
||||
from contextlib import contextmanager
|
||||
from dataclasses import replace
|
||||
import inspect
|
||||
import io
|
||||
from io import BytesIO
|
||||
import os
|
||||
from pathlib import Path
|
||||
@ -1682,6 +1683,20 @@ def test_reformat_one_with_stdin_and_existing_path(self) -> None:
|
||||
# __BLACK_STDIN_FILENAME__ should have been stripped
|
||||
report.done.assert_called_with(expected, black.Changed.YES)
|
||||
|
||||
def test_reformat_one_with_stdin_empty(self) -> None:
|
||||
output = io.StringIO()
|
||||
with patch("io.TextIOWrapper", lambda *args, **kwargs: output):
|
||||
try:
|
||||
black.format_stdin_to_stdout(
|
||||
fast=True,
|
||||
content="",
|
||||
write_back=black.WriteBack.YES,
|
||||
mode=DEFAULT_MODE,
|
||||
)
|
||||
except io.UnsupportedOperation:
|
||||
pass # StringIO does not support detach
|
||||
assert output.getvalue() == ""
|
||||
|
||||
def test_gitignore_exclude(self) -> None:
|
||||
path = THIS_DIR / "data" / "include_exclude_tests"
|
||||
include = re.compile(r"\.pyi?$")
|
||||
|
Loading…
Reference in New Issue
Block a user