(self)
| 496 | ) |
| 497 | |
| 498 | def test_report_verbose(self) -> None: |
| 499 | report = Report(verbose=True) |
| 500 | out_lines = [] |
| 501 | err_lines = [] |
| 502 | |
| 503 | def out(msg: str, **kwargs: Any) -> None: |
| 504 | out_lines.append(msg) |
| 505 | |
| 506 | def err(msg: str, **kwargs: Any) -> None: |
| 507 | err_lines.append(msg) |
| 508 | |
| 509 | with patch("black.output._out", out), patch("black.output._err", err): |
| 510 | report.done(Path("f1"), black.Changed.NO) |
| 511 | self.assertEqual(len(out_lines), 1) |
| 512 | self.assertEqual(len(err_lines), 0) |
| 513 | self.assertEqual(out_lines[-1], "f1 already well formatted, good job.") |
| 514 | self.assertEqual(unstyle(str(report)), "1 file left unchanged.") |
| 515 | self.assertEqual(report.return_code, 0) |
| 516 | report.done(Path("f2"), black.Changed.YES) |
| 517 | self.assertEqual(len(out_lines), 2) |
| 518 | self.assertEqual(len(err_lines), 0) |
| 519 | self.assertEqual(out_lines[-1], "reformatted f2") |
| 520 | self.assertEqual( |
| 521 | unstyle(str(report)), "1 file reformatted, 1 file left unchanged." |
| 522 | ) |
| 523 | report.done(Path("f3"), black.Changed.CACHED) |
| 524 | self.assertEqual(len(out_lines), 3) |
| 525 | self.assertEqual(len(err_lines), 0) |
| 526 | self.assertEqual( |
| 527 | out_lines[-1], "f3 wasn't modified on disk since last run." |
| 528 | ) |
| 529 | self.assertEqual( |
| 530 | unstyle(str(report)), "1 file reformatted, 2 files left unchanged." |
| 531 | ) |
| 532 | self.assertEqual(report.return_code, 0) |
| 533 | report.check = True |
| 534 | self.assertEqual(report.return_code, 1) |
| 535 | report.check = False |
| 536 | report.failed(Path("e1"), "boom") |
| 537 | self.assertEqual(len(out_lines), 3) |
| 538 | self.assertEqual(len(err_lines), 1) |
| 539 | self.assertEqual(err_lines[-1], "error: cannot format e1: boom") |
| 540 | self.assertEqual( |
| 541 | unstyle(str(report)), |
| 542 | "1 file reformatted, 2 files left unchanged, 1 file failed to" |
| 543 | " reformat.", |
| 544 | ) |
| 545 | self.assertEqual(report.return_code, 123) |
| 546 | report.done(Path("f3"), black.Changed.YES) |
| 547 | self.assertEqual(len(out_lines), 4) |
| 548 | self.assertEqual(len(err_lines), 1) |
| 549 | self.assertEqual(out_lines[-1], "reformatted f3") |
| 550 | self.assertEqual( |
| 551 | unstyle(str(report)), |
| 552 | "2 files reformatted, 2 files left unchanged, 1 file failed to" |
| 553 | " reformat.", |
| 554 | ) |
| 555 | self.assertEqual(report.return_code, 123) |
nothing calls this directly
no test coverage detected