Edgewall Software

Changeset 1119 for trunk


Ignore:
Timestamp:
Apr 22, 2010, 12:02:28 AM (13 years ago)
Author:
cmlenz
Message:

Fix for infinite recursion when parsing argument names from tuples. Closes #383.

Location:
trunk/genshi/template
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/genshi/template/eval.py

    r1101 r1119  
    500500            elif isinstance(node, _ast.Tuple):
    501501                for elt in node.elts:
    502                     _process(node)
     502                    _process(elt)
    503503        if hasattr(node, 'args'):
    504504            for arg in node.args:
  • trunk/genshi/template/tests/eval.py

    r1102 r1119  
    248248        expr = Expression("filter(lambda x: x > 2, items)")
    249249        self.assertEqual([3, 4], expr.evaluate(data))
     250
     251    def test_lambda_tuple_arg(self):
     252        data = {'items': [(1, 2), (2, 1)]}
     253        expr = Expression("filter(lambda (x, y): x > y, items)")
     254        self.assertEqual([(2, 1)], expr.evaluate(data))
    250255
    251256    def test_list_comprehension(self):
Note: See TracChangeset for help on using the changeset viewer.