X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/54d707e10a5bf3d8d352c1bcbc7946bb6f3c01d7..987543001ab6aded0ff4f87a9eafe641e33e2206:/tests/test_black.py diff --git a/tests/test_black.py b/tests/test_black.py index dd3beed..951b298 100644 --- a/tests/test_black.py +++ b/tests/test_black.py @@ -57,8 +57,7 @@ def cache_dir(exists: bool = True) -> Iterator[Path]: cache_dir = Path(workspace) if not exists: cache_dir = cache_dir / "new" - cache_file = cache_dir / "cache.pkl" - with patch("black.CACHE_DIR", cache_dir), patch("black.CACHE_FILE", cache_file): + with patch("black.CACHE_DIR", cache_dir): yield cache_dir @@ -230,6 +229,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_slices(self) -> None: + source, expected = read_data("slices") + 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_comments(self) -> None: source, expected = read_data("comments") @@ -318,6 +325,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_remove_empty_parentheses_after_class(self) -> None: + source, expected = read_data("class_blank_parentheses") + actual = fs(source) + self.assertFormatEqual(expected, actual) + black.assert_equivalent(source, actual) + black.assert_stable(source, actual, line_length=ll) + def test_report(self) -> None: report = black.Report() out_lines = [] @@ -492,15 +507,16 @@ class BlackTestCase(unittest.TestCase): def test_cache_broken_file(self) -> None: with cache_dir() as workspace: - with black.CACHE_FILE.open("w") as fobj: + cache_file = black.get_cache_file(black.DEFAULT_LINE_LENGTH) + with cache_file.open("w") as fobj: fobj.write("this is not a pickle") - self.assertEqual(black.read_cache(), {}) + self.assertEqual(black.read_cache(black.DEFAULT_LINE_LENGTH), {}) src = (workspace / "test.py").resolve() with src.open("w") as fobj: fobj.write("print('hello')") result = CliRunner().invoke(black.main, [str(src)]) self.assertEqual(result.exit_code, 0) - cache = black.read_cache() + cache = black.read_cache(black.DEFAULT_LINE_LENGTH) self.assertIn(src, cache) def test_cache_single_file_already_cached(self) -> None: @@ -508,7 +524,7 @@ class BlackTestCase(unittest.TestCase): src = (workspace / "test.py").resolve() with src.open("w") as fobj: fobj.write("print('hello')") - black.write_cache({}, [src]) + black.write_cache({}, [src], black.DEFAULT_LINE_LENGTH) result = CliRunner().invoke(black.main, [str(src)]) self.assertEqual(result.exit_code, 0) with src.open("r") as fobj: @@ -525,14 +541,14 @@ class BlackTestCase(unittest.TestCase): two = (workspace / "two.py").resolve() with two.open("w") as fobj: fobj.write("print('hello')") - black.write_cache({}, [one]) + black.write_cache({}, [one], black.DEFAULT_LINE_LENGTH) result = CliRunner().invoke(black.main, [str(workspace)]) self.assertEqual(result.exit_code, 0) with one.open("r") as fobj: self.assertEqual(fobj.read(), "print('hello')") with two.open("r") as fobj: self.assertEqual(fobj.read(), 'print("hello")\n') - cache = black.read_cache() + cache = black.read_cache(black.DEFAULT_LINE_LENGTH) self.assertIn(one, cache) self.assertIn(two, cache) @@ -543,24 +559,26 @@ class BlackTestCase(unittest.TestCase): fobj.write("print('hello')") result = CliRunner().invoke(black.main, [str(src), "--diff"]) self.assertEqual(result.exit_code, 0) - self.assertFalse(black.CACHE_FILE.exists()) + cache_file = black.get_cache_file(black.DEFAULT_LINE_LENGTH) + self.assertFalse(cache_file.exists()) def test_no_cache_when_stdin(self) -> None: with cache_dir(): result = CliRunner().invoke(black.main, ["-"], input="print('hello')") self.assertEqual(result.exit_code, 0) - self.assertFalse(black.CACHE_FILE.exists()) + cache_file = black.get_cache_file(black.DEFAULT_LINE_LENGTH) + self.assertFalse(cache_file.exists()) def test_read_cache_no_cachefile(self) -> None: with cache_dir(): - self.assertEqual(black.read_cache(), {}) + self.assertEqual(black.read_cache(black.DEFAULT_LINE_LENGTH), {}) def test_write_cache_read_cache(self) -> None: with cache_dir() as workspace: src = (workspace / "test.py").resolve() src.touch() - black.write_cache({}, [src]) - cache = black.read_cache() + black.write_cache({}, [src], black.DEFAULT_LINE_LENGTH) + cache = black.read_cache(black.DEFAULT_LINE_LENGTH) self.assertIn(src, cache) self.assertEqual(cache[src], black.get_cache_info(src)) @@ -583,7 +601,7 @@ class BlackTestCase(unittest.TestCase): def test_write_cache_creates_directory_if_needed(self) -> None: with cache_dir(exists=False) as workspace: self.assertFalse(workspace.exists()) - black.write_cache({}, []) + black.write_cache({}, [], black.DEFAULT_LINE_LENGTH) self.assertTrue(workspace.exists()) @event_loop(close=False) @@ -599,14 +617,14 @@ class BlackTestCase(unittest.TestCase): fobj.write('print("hello")\n') result = CliRunner().invoke(black.main, [str(workspace)]) self.assertEqual(result.exit_code, 123) - cache = black.read_cache() + cache = black.read_cache(black.DEFAULT_LINE_LENGTH) self.assertNotIn(failing, cache) self.assertIn(clean, cache) def test_write_cache_write_fail(self) -> None: with cache_dir(), patch.object(Path, "open") as mock: mock.side_effect = OSError - black.write_cache({}, []) + black.write_cache({}, [], black.DEFAULT_LINE_LENGTH) def test_check_diff_use_together(self) -> None: with cache_dir(): @@ -626,6 +644,22 @@ class BlackTestCase(unittest.TestCase): ) self.assertEqual(result.exit_code, 1) + def test_no_files(self) -> None: + with cache_dir(): + # Without an argument, black exits with error code 0. + result = CliRunner().invoke(black.main, []) + self.assertEqual(result.exit_code, 0) + + def test_read_cache_line_lengths(self) -> None: + with cache_dir() as workspace: + path = (workspace / "file.py").resolve() + path.touch() + black.write_cache({}, [path], 1) + one = black.read_cache(1) + self.assertIn(path, one) + two = black.read_cache(2) + self.assertNotIn(path, two) + if __name__ == "__main__": unittest.main()