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)
|
- Add primer support and test for code piped into black via STDIN (#2315)
|
||||||
- Fix internal error when `FORCE_OPTIONAL_PARENTHESES` feature is enabled (#2332)
|
- Fix internal error when `FORCE_OPTIONAL_PARENTHESES` feature is enabled (#2332)
|
||||||
|
- Accept empty stdin (#2346)
|
||||||
|
|
||||||
## 21.6b0
|
## 21.6b0
|
||||||
|
|
||||||
|
@ -803,7 +803,8 @@ def format_stdin_to_stdout(
|
|||||||
)
|
)
|
||||||
if write_back == WriteBack.YES:
|
if write_back == WriteBack.YES:
|
||||||
# Make sure there's a newline after the content
|
# 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)
|
f.write(dst)
|
||||||
elif write_back in (WriteBack.DIFF, WriteBack.COLOR_DIFF):
|
elif write_back in (WriteBack.DIFF, WriteBack.COLOR_DIFF):
|
||||||
now = datetime.utcnow()
|
now = datetime.utcnow()
|
||||||
|
@ -6,6 +6,7 @@
|
|||||||
from contextlib import contextmanager
|
from contextlib import contextmanager
|
||||||
from dataclasses import replace
|
from dataclasses import replace
|
||||||
import inspect
|
import inspect
|
||||||
|
import io
|
||||||
from io import BytesIO
|
from io import BytesIO
|
||||||
import os
|
import os
|
||||||
from pathlib import Path
|
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
|
# __BLACK_STDIN_FILENAME__ should have been stripped
|
||||||
report.done.assert_called_with(expected, black.Changed.YES)
|
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:
|
def test_gitignore_exclude(self) -> None:
|
||||||
path = THIS_DIR / "data" / "include_exclude_tests"
|
path = THIS_DIR / "data" / "include_exclude_tests"
|
||||||
include = re.compile(r"\.pyi?$")
|
include = re.compile(r"\.pyi?$")
|
||||||
|
Loading…
Reference in New Issue
Block a user