parent
18119d3846
commit
de806405d2
14
black.py
14
black.py
@ -2726,6 +2726,14 @@ def normalize_invisible_parens(node: Node, parens_after: Set[str]) -> None:
|
|||||||
|
|
||||||
check_lpar = False
|
check_lpar = False
|
||||||
for index, child in enumerate(list(node.children)):
|
for index, child in enumerate(list(node.children)):
|
||||||
|
# Add parentheses around long tuple unpacking in assignments.
|
||||||
|
if (
|
||||||
|
index == 0
|
||||||
|
and isinstance(child, Node)
|
||||||
|
and child.type == syms.testlist_star_expr
|
||||||
|
):
|
||||||
|
check_lpar = True
|
||||||
|
|
||||||
if check_lpar:
|
if check_lpar:
|
||||||
if child.type == syms.atom:
|
if child.type == syms.atom:
|
||||||
if maybe_make_parens_invisible_in_atom(child, parent=node):
|
if maybe_make_parens_invisible_in_atom(child, parent=node):
|
||||||
@ -2757,7 +2765,11 @@ def normalize_invisible_parens(node: Node, parens_after: Set[str]) -> None:
|
|||||||
lpar = Leaf(token.LPAR, "")
|
lpar = Leaf(token.LPAR, "")
|
||||||
rpar = Leaf(token.RPAR, "")
|
rpar = Leaf(token.RPAR, "")
|
||||||
index = child.remove() or 0
|
index = child.remove() or 0
|
||||||
node.insert_child(index, Node(syms.atom, [lpar, child, rpar]))
|
prefix = child.prefix
|
||||||
|
child.prefix = ""
|
||||||
|
new_child = Node(syms.atom, [lpar, child, rpar])
|
||||||
|
new_child.prefix = prefix
|
||||||
|
node.insert_child(index, new_child)
|
||||||
|
|
||||||
check_lpar = isinstance(child, Leaf) and child.value in parens_after
|
check_lpar = isinstance(child, Leaf) and child.value in parens_after
|
||||||
|
|
||||||
|
10
tests/data/tupleassign.py
Normal file
10
tests/data/tupleassign.py
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
sdfjklsdfsjldkflkjsf, sdfjsdfjlksdljkfsdlkf, sdfsdjfklsdfjlksdljkf, sdsfsdfjskdflsfsdf = 1, 2, 3
|
||||||
|
|
||||||
|
|
||||||
|
# output
|
||||||
|
(
|
||||||
|
sdfjklsdfsjldkflkjsf,
|
||||||
|
sdfjsdfjlksdljkfsdlkf,
|
||||||
|
sdfsdjfklsdfjlksdljkf,
|
||||||
|
sdsfsdfjskdflsfsdf,
|
||||||
|
) = (1, 2, 3)
|
@ -542,6 +542,14 @@ def test_bracket_match(self) -> None:
|
|||||||
black.assert_equivalent(source, actual)
|
black.assert_equivalent(source, actual)
|
||||||
black.assert_stable(source, actual, black.FileMode())
|
black.assert_stable(source, actual, black.FileMode())
|
||||||
|
|
||||||
|
@patch("black.dump_to_file", dump_to_stderr)
|
||||||
|
def test_tuple_assign(self) -> None:
|
||||||
|
source, expected = read_data("tupleassign")
|
||||||
|
actual = fs(source)
|
||||||
|
self.assertFormatEqual(expected, actual)
|
||||||
|
black.assert_equivalent(source, actual)
|
||||||
|
black.assert_stable(source, actual, black.FileMode())
|
||||||
|
|
||||||
def test_tab_comment_indentation(self) -> None:
|
def test_tab_comment_indentation(self) -> None:
|
||||||
contents_tab = "if 1:\n\tif 2:\n\t\tpass\n\t# comment\n\tpass\n"
|
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"
|
contents_spc = "if 1:\n if 2:\n pass\n # comment\n pass\n"
|
||||||
|
Loading…
Reference in New Issue
Block a user