X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/639b62dcd32cde3645e9f9a633eee33c04d23901..c86fb362329a2b980ed94200e0652f9c74d56bbd:/tests/test_black.py diff --git a/tests/test_black.py b/tests/test_black.py index a64033c..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 @@ -105,7 +106,7 @@ class BlackTestCase(unittest.TestCase): self.assertFormatEqual(expected, actual) black.assert_equivalent(source, actual) black.assert_stable(source, actual, line_length=ll) - self.assertIs(ff(THIS_FILE), black.Changed.NO) + self.assertFalse(ff(THIS_FILE)) @patch("black.dump_to_file", dump_to_stderr) def test_black(self) -> None: @@ -114,7 +115,7 @@ class BlackTestCase(unittest.TestCase): self.assertFormatEqual(expected, actual) black.assert_equivalent(source, actual) black.assert_stable(source, actual, line_length=ll) - self.assertIs(ff(THIS_DIR / ".." / "black.py"), black.Changed.NO) + self.assertFalse(ff(THIS_DIR / ".." / "black.py")) def test_piping(self) -> None: source, expected = read_data("../black") @@ -157,7 +158,7 @@ class BlackTestCase(unittest.TestCase): self.assertFormatEqual(expected, actual) black.assert_equivalent(source, actual) black.assert_stable(source, actual, line_length=ll) - self.assertIs(ff(THIS_DIR / ".." / "setup.py"), black.Changed.NO) + self.assertFalse(ff(THIS_DIR / ".." / "setup.py")) @patch("black.dump_to_file", dump_to_stderr) def test_function(self) -> None: @@ -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") @@ -590,11 +595,29 @@ class BlackTestCase(unittest.TestCase): self.assertNotIn(failing, cache) self.assertIn(clean, cache) - def test_write_cache_write_fail(self): + def test_write_cache_write_fail(self) -> None: with cache_dir(), patch.object(Path, "open") as mock: 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()