# but not on 3.6, because we use async as a reserved keyword
self.invokeBlack([str(source_path), "--target-version", "py36"], exit_code=123)
+ @patch("black.dump_to_file", dump_to_stderr)
+ def test_python38(self) -> None:
+ source, expected = read_data("python38")
+ actual = fs(source)
+ self.assertFormatEqual(expected, actual)
+ major, minor = sys.version_info[:2]
+ if major > 3 or (major == 3 and minor >= 8):
+ black.assert_equivalent(source, actual)
+ black.assert_stable(source, actual, black.FileMode())
+
@patch("black.dump_to_file", dump_to_stderr)
def test_fmtonoff(self) -> None:
source, expected = read_data("fmtonoff")
black.assert_equivalent(source, actual)
black.assert_stable(source, actual, black.FileMode())
+ @patch("black.dump_to_file", dump_to_stderr)
+ def test_fmtonoff4(self) -> None:
+ source, expected = read_data("fmtonoff4")
+ actual = fs(source)
+ self.assertFormatEqual(expected, actual)
+ black.assert_equivalent(source, actual)
+ black.assert_stable(source, actual, black.FileMode())
+
@patch("black.dump_to_file", dump_to_stderr)
def test_remove_empty_parentheses_after_class(self) -> None:
source, expected = read_data("class_blank_parentheses")
"2 files would be reformatted, 3 files would be left unchanged, "
"2 files would fail to reformat.",
)
+ report.check = False
+ report.diff = True
+ self.assertEqual(
+ unstyle(str(report)),
+ "2 files would be reformatted, 3 files would be left unchanged, "
+ "2 files would fail to reformat.",
+ )
def test_report_quiet(self) -> None:
report = black.Report(quiet=True)
"2 files would be reformatted, 3 files would be left unchanged, "
"2 files would fail to reformat.",
)
+ report.check = False
+ report.diff = True
+ self.assertEqual(
+ unstyle(str(report)),
+ "2 files would be reformatted, 3 files would be left unchanged, "
+ "2 files would fail to reformat.",
+ )
def test_report_normal(self) -> None:
report = black.Report()
"2 files would be reformatted, 3 files would be left unchanged, "
"2 files would fail to reformat.",
)
+ report.check = False
+ report.diff = True
+ self.assertEqual(
+ unstyle(str(report)),
+ "2 files would be reformatted, 3 files would be left unchanged, "
+ "2 files would fail to reformat.",
+ )
def test_lib2to3_parse(self) -> None:
with self.assertRaises(black.InvalidInput):
# outside of the `root` directory.
path.iterdir.return_value = [child]
child.resolve.return_value = Path("/a/b/c")
+ child.as_posix.return_value = "/a/b/c"
child.is_symlink.return_value = True
try:
list(
raise result.exception
self.assertEqual(result.exit_code, 0)
+ def test_invalid_config_return_code(self) -> None:
+ tmp_file = Path(black.dump_to_file())
+ try:
+ tmp_config = Path(black.dump_to_file())
+ tmp_config.unlink()
+ args = ["--config", str(tmp_config), str(tmp_file)]
+ self.invokeBlack(args, exit_code=2, ignore_config=False)
+ finally:
+ tmp_file.unlink()
+
class BlackDTestCase(AioHTTPTestCase):
async def get_application(self) -> web.Application: