From: Samuel Cormier-Iijima Date: Tue, 5 Feb 2019 02:55:01 +0000 (-0500) Subject: Fix indent calculation with tabs when computing prefixes (#595) X-Git-Url: https://git.madduck.net/etc/vim.git/commitdiff_plain/66aa676278948368dff251dffd58c850cb8b889e?ds=inline Fix indent calculation with tabs when computing prefixes (#595) Closes #262 --- 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 @@ class Driver(object): 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 @@ class BlackTestCase(unittest.TestCase): 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 = []