X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/c85cb48ec2cfdee2e742b59855e38431ff8ed46a..0c6672890ce7161b3e3484c8831ca23c55f95c5c:/tests/test_black.py diff --git a/tests/test_black.py b/tests/test_black.py index 223c907..c11fca0 100644 --- a/tests/test_black.py +++ b/tests/test_black.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 from functools import partial from pathlib import Path -from typing import List, Tuple +from typing import Any, List, Tuple import unittest from unittest.mock import patch @@ -46,6 +46,7 @@ class BlackTestCase(unittest.TestCase): def assertFormatEqual(self, expected: str, actual: str) -> None: if actual != expected: + bdv: black.DebugVisitor[Any] black.out('Expected tree:', fg='green') try: exp_node = black.lib2to3_parse(expected) @@ -108,6 +109,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_fstring(self) -> None: + source, expected = read_data('fstring') + actual = fs(source) + self.assertFormatEqual(expected, actual) + black.assert_equivalent(source, actual) + black.assert_stable(source, actual, line_length=ll) + @patch("black.dump_to_file", dump_to_stderr) def test_comments(self) -> None: source, expected = read_data('comments') @@ -153,10 +162,10 @@ class BlackTestCase(unittest.TestCase): out_lines = [] err_lines = [] - def out(msg: str, **kwargs): + def out(msg: str, **kwargs: Any) -> None: out_lines.append(msg) - def err(msg: str, **kwargs): + def err(msg: str, **kwargs: Any) -> None: err_lines.append(msg) with patch("black.out", out), patch("black.err", err): @@ -215,6 +224,24 @@ class BlackTestCase(unittest.TestCase): ) self.assertEqual(report.return_code, 123) + def test_is_python36(self) -> None: + node = black.lib2to3_parse("def f(*, arg): ...\n") + self.assertFalse(black.is_python36(node)) + node = black.lib2to3_parse("def f(*, arg,): ...\n") + self.assertTrue(black.is_python36(node)) + node = black.lib2to3_parse("def f(*, arg): f'string'\n") + self.assertTrue(black.is_python36(node)) + source, expected = read_data('function') + node = black.lib2to3_parse(source) + self.assertTrue(black.is_python36(node)) + node = black.lib2to3_parse(expected) + self.assertTrue(black.is_python36(node)) + source, expected = read_data('expression') + node = black.lib2to3_parse(source) + self.assertFalse(black.is_python36(node)) + node = black.lib2to3_parse(expected) + self.assertFalse(black.is_python36(node)) + if __name__ == '__main__': unittest.main()