def test_for_1(): template = ''' {% for x in a.b %} {{ x }} {% endfor %} ''' ast = parse(template).find(nodes.For) struct = visit_for(ast) expected_struct = Dictionary({ 'a': Dictionary({ 'b': List(Scalar(label='x', linenos=[3]), label='b', linenos=[2]) }, label='a', linenos=[2]), }) assert struct == expected_struct
def test_for_3(): template = ''' {% for a, b in list %} {{ a.field }} {{ b }} {% endfor %} ''' ast = parse(template).find(nodes.For) struct = visit_for(ast) expected_struct = Dictionary({ 'list': List(Tuple(( Dictionary({ 'field': Scalar(label='field', linenos=[3]) }, label='a', linenos=[3]), Scalar(label='b', linenos=[4]) ), linenos=[2]), label='list', linenos=[2]) }) assert struct == expected_struct