X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/8429f3a63b4577c6fd35872072711858511e8d2d..959ff798bcc908264b7e097df047d7bd42f027a0:/tests/test_black.py diff --git a/tests/test_black.py b/tests/test_black.py index fc31069..6f0ffa3 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) @@ -507,7 +508,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 +580,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 +600,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()