diff --git a/blib2to3/pgen2/driver.py b/blib2to3/pgen2/driver.py index 72d9f47..6626c05 100644 --- a/blib2to3/pgen2/driver.py +++ b/blib2to3/pgen2/driver.py @@ -131,10 +131,8 @@ def _partially_consume_prefix(self, prefix, column): current_line = "" current_column = 0 wait_for_nl = False - elif char == ' ': + elif char in ' \t': current_column += 1 - elif char == '\t': - current_column += 4 elif char == '\n': # unexpected empty line current_column = 0 diff --git a/tests/test_black.py b/tests/test_black.py index b3f1f82..92031ca 100644 --- a/tests/test_black.py +++ b/tests/test_black.py @@ -509,6 +509,19 @@ def test_bracket_match(self) -> None: black.assert_equivalent(source, actual) black.assert_stable(source, actual, line_length=ll) + def test_comment_indentation(self) -> None: + contents_tab = "if 1:\n\tif 2:\n\t\tpass\n\t# comment\n\tpass\n" + contents_spc = "if 1:\n if 2:\n pass\n # comment\n pass\n" + + self.assertFormatEqual(fs(contents_spc), contents_spc) + self.assertFormatEqual(fs(contents_tab), contents_spc) + + contents_tab = "if 1:\n\tif 2:\n\t\tpass\n\t\t# comment\n\tpass\n" + contents_spc = "if 1:\n if 2:\n pass\n # comment\n pass\n" + + self.assertFormatEqual(fs(contents_tab), contents_spc) + self.assertFormatEqual(fs(contents_spc), contents_spc) + def test_report_verbose(self) -> None: report = black.Report(verbose=True) out_lines = []