From a02829bea1452e0db150eec88c2d99eaf162aa72 Mon Sep 17 00:00:00 2001 From: kyle hausmann Date: Sat, 18 Jan 2020 10:13:15 -0500 Subject: [PATCH] Use conditional case for diff reports (#1226) When --diff flag is used, black will now use the conditional case in the Report output: eg "would be reformatted" --- black.py | 7 ++++--- tests/test_black.py | 21 +++++++++++++++++++++ 2 files changed, 25 insertions(+), 3 deletions(-) diff --git a/black.py b/black.py index 11db7e4..210120b 100644 --- a/black.py +++ b/black.py @@ -442,7 +442,7 @@ def main( except re.error: err(f"Invalid regular expression for exclude given: {exclude!r}") ctx.exit(2) - report = Report(check=check, quiet=quiet, verbose=verbose) + report = Report(check=check, diff=diff, quiet=quiet, verbose=verbose) root = find_project_root(src) sources: Set[Path] = set() path_empty(src, quiet, verbose, ctx) @@ -3614,6 +3614,7 @@ class Report: """Provides a reformatting counter. Can be rendered with `str(report)`.""" check: bool = False + diff: bool = False quiet: bool = False verbose: bool = False change_count: int = 0 @@ -3623,7 +3624,7 @@ class Report: def done(self, src: Path, changed: Changed) -> None: """Increment the counter for successful reformatting. Write out a message.""" if changed is Changed.YES: - reformatted = "would reformat" if self.check else "reformatted" + reformatted = "would reformat" if self.check or self.diff else "reformatted" if self.verbose or not self.quiet: out(f"{reformatted} {src}") self.change_count += 1 @@ -3669,7 +3670,7 @@ class Report: Use `click.unstyle` to remove colors. """ - if self.check: + if self.check or self.diff: reformatted = "would be reformatted" unchanged = "would be left unchanged" failed = "would fail to reformat" diff --git a/tests/test_black.py b/tests/test_black.py index 40bde36..66aa360 100644 --- a/tests/test_black.py +++ b/tests/test_black.py @@ -778,6 +778,13 @@ class BlackTestCase(unittest.TestCase): "2 files would be reformatted, 3 files would be left unchanged, " "2 files would fail to reformat.", ) + report.check = False + report.diff = True + self.assertEqual( + unstyle(str(report)), + "2 files would be reformatted, 3 files would be left unchanged, " + "2 files would fail to reformat.", + ) def test_report_quiet(self) -> None: report = black.Report(quiet=True) @@ -865,6 +872,13 @@ class BlackTestCase(unittest.TestCase): "2 files would be reformatted, 3 files would be left unchanged, " "2 files would fail to reformat.", ) + report.check = False + report.diff = True + self.assertEqual( + unstyle(str(report)), + "2 files would be reformatted, 3 files would be left unchanged, " + "2 files would fail to reformat.", + ) def test_report_normal(self) -> None: report = black.Report() @@ -955,6 +969,13 @@ class BlackTestCase(unittest.TestCase): "2 files would be reformatted, 3 files would be left unchanged, " "2 files would fail to reformat.", ) + report.check = False + report.diff = True + self.assertEqual( + unstyle(str(report)), + "2 files would be reformatted, 3 files would be left unchanged, " + "2 files would fail to reformat.", + ) def test_lib2to3_parse(self) -> None: with self.assertRaises(black.InvalidInput): -- 2.39.2