#!/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
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)
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')
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):
)
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()