X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/e911c79809c4fd9b0773dea5b6a0e710b59614cf..c98a6f134f4b2b831e7e659de0c217c118270a61:/tests/test_black.py diff --git a/tests/test_black.py b/tests/test_black.py index ee883ec..3415549 100644 --- a/tests/test_black.py +++ b/tests/test_black.py @@ -1,6 +1,7 @@ #!/usr/bin/env python3 from functools import partial from io import StringIO +import os from pathlib import Path import sys from typing import Any, List, Tuple @@ -47,7 +48,7 @@ class BlackTestCase(unittest.TestCase): maxDiff = None def assertFormatEqual(self, expected: str, actual: str) -> None: - if actual != expected: + if actual != expected and not os.environ.get('SKIP_AST_PRINT'): bdv: black.DebugVisitor[Any] black.out('Expected tree:', fg='green') try: @@ -89,7 +90,7 @@ class BlackTestCase(unittest.TestCase): try: sys.stdin, sys.stdout = StringIO(source), StringIO() sys.stdin.name = '' - black.format_stdin_to_stdout(line_length=ll, fast=True) + black.format_stdin_to_stdout(line_length=ll, fast=True, write_back=True) sys.stdout.seek(0) actual = sys.stdout.read() finally: @@ -179,6 +180,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_python2(self) -> None: + source, expected = read_data('python2') + 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 = [] @@ -204,7 +213,10 @@ class BlackTestCase(unittest.TestCase): self.assertEqual( unstyle(str(report)), '1 file reformatted, 1 file left unchanged.' ) + self.assertEqual(report.return_code, 0) + report.check = True self.assertEqual(report.return_code, 1) + report.check = False report.failed(Path('e1'), 'boom') self.assertEqual(len(out_lines), 2) self.assertEqual(len(err_lines), 1) @@ -245,6 +257,12 @@ class BlackTestCase(unittest.TestCase): '2 files failed to reformat.', ) self.assertEqual(report.return_code, 123) + report.check = True + self.assertEqual( + unstyle(str(report)), + '2 files would be reformatted, 2 files would be left unchanged, ' + '2 files would fail to reformat.', + ) def test_is_python36(self) -> None: node = black.lib2to3_parse("def f(*, arg): ...\n")