Fix diff parser: Also check async with

This commit is contained in:
Dave Halter
2019-01-06 16:25:28 +01:00
parent b33c2b3ae1
commit edbceba4f8
2 changed files with 6 additions and 11 deletions

View File

@@ -136,6 +136,8 @@ def _suite_or_file_input_is_valid(pgen_grammar, stack):
def _is_flow_node(node): def _is_flow_node(node):
if node.type == 'async_stmt':
node = node.children[1]
try: try:
value = node.children[0].value value = node.children[0].value
except AttributeError: except AttributeError:

View File

@@ -921,8 +921,9 @@ def test_many_nested_ifs(differ):
differ.parse(code1, parsers=1, copies=1) differ.parse(code1, parsers=1, copies=1)
def test_with_and_funcdef_in_call(differ): @pytest.mark.parametrize('prefix', ['', 'async '])
code1 = dedent('''\ def test_with_and_funcdef_in_call(differ, prefix):
code1 = prefix + dedent('''\
with x: with x:
la = C( la = C(
a=1, a=1,
@@ -931,15 +932,7 @@ def test_with_and_funcdef_in_call(differ):
) )
''') ''')
code2 = dedent('''\ code2 = insert_line_into_code(code1, 3, 'def y(self, args):\n')
with x:
la = C(
a=1,
def y(self, args):
b=2,
c=3,
)
''')
differ.initialize(code1) differ.initialize(code1)
differ.parse(code2, parsers=3, copies=0, expect_error_leaves=True) differ.parse(code2, parsers=3, copies=0, expect_error_leaves=True)