X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/8429f3a63b4577c6fd35872072711858511e8d2d..52fda8b0e9e52e94aae6cb3170c9b1b492a2d8b4:/tests/test_black.py diff --git a/tests/test_black.py b/tests/test_black.py index fc31069..dd3beed 100644 --- a/tests/test_black.py +++ b/tests/test_black.py @@ -1,5 +1,6 @@ #!/usr/bin/env python3 import asyncio +from concurrent.futures import ThreadPoolExecutor from contextlib import contextmanager from functools import partial from io import StringIO @@ -199,7 +200,7 @@ class BlackTestCase(unittest.TestCase): self.assertTrue(ff(tmp_file, write_back=black.WriteBack.DIFF)) sys.stdout.seek(0) actual = sys.stdout.read() - actual = actual.replace(tmp_file.name, "") + actual = actual.replace(str(tmp_file), "") finally: sys.stdout = hold_stdout os.unlink(tmp_file) @@ -261,6 +262,14 @@ class BlackTestCase(unittest.TestCase): black.assert_equivalent(source, actual) black.assert_stable(source, actual, line_length=ll) + @patch("black.dump_to_file", dump_to_stderr) + def test_comments5(self) -> None: + source, expected = read_data("comments5") + actual = fs(source) + self.assertFormatEqual(expected, actual) + black.assert_equivalent(source, actual) + black.assert_stable(source, actual, line_length=ll) + @patch("black.dump_to_file", dump_to_stderr) def test_cantfit(self) -> None: source, expected = read_data("cantfit") @@ -507,7 +516,9 @@ class BlackTestCase(unittest.TestCase): @event_loop(close=False) def test_cache_multiple_files(self) -> None: - with cache_dir() as workspace: + with cache_dir() as workspace, patch( + "black.ProcessPoolExecutor", new=ThreadPoolExecutor + ): one = (workspace / "one.py").resolve() with one.open("w") as fobj: fobj.write("print('hello')") @@ -577,7 +588,9 @@ class BlackTestCase(unittest.TestCase): @event_loop(close=False) def test_failed_formatting_does_not_get_cached(self) -> None: - with cache_dir() as workspace: + with cache_dir() as workspace, patch( + "black.ProcessPoolExecutor", new=ThreadPoolExecutor + ): failing = (workspace / "failing.py").resolve() with failing.open("w") as fobj: fobj.write("not actually python") @@ -595,6 +608,24 @@ class BlackTestCase(unittest.TestCase): mock.side_effect = OSError black.write_cache({}, []) + def test_check_diff_use_together(self) -> None: + with cache_dir(): + # Files which will be reformatted. + src1 = (THIS_DIR / "string_quotes.py").resolve() + result = CliRunner().invoke(black.main, [str(src1), "--diff", "--check"]) + self.assertEqual(result.exit_code, 1) + + # Files which will not be reformatted. + src2 = (THIS_DIR / "composition.py").resolve() + result = CliRunner().invoke(black.main, [str(src2), "--diff", "--check"]) + self.assertEqual(result.exit_code, 0) + + # Multi file command. + result = CliRunner().invoke( + black.main, [str(src1), str(src2), "--diff", "--check"] + ) + self.assertEqual(result.exit_code, 1) + if __name__ == "__main__": unittest.main()