Mercurial > genshi > genshi-test
comparison genshi/template/tests/eval.py @ 896:248d6671a7e1
Fix for infinite recursion when parsing argument names from tuples. Closes #383.
author | cmlenz |
---|---|
date | Wed, 21 Apr 2010 22:02:28 +0000 |
parents | 27d210790d27 |
children | 85e4678337cf |
comparison
equal
deleted
inserted
replaced
895:f30c9fb10272 | 896:248d6671a7e1 |
---|---|
245 | 245 |
246 def test_lambda(self): | 246 def test_lambda(self): |
247 data = {'items': range(5)} | 247 data = {'items': range(5)} |
248 expr = Expression("filter(lambda x: x > 2, items)") | 248 expr = Expression("filter(lambda x: x > 2, items)") |
249 self.assertEqual([3, 4], expr.evaluate(data)) | 249 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)) | |
250 | 255 |
251 def test_list_comprehension(self): | 256 def test_list_comprehension(self): |
252 expr = Expression("[n for n in numbers if n < 2]") | 257 expr = Expression("[n for n in numbers if n < 2]") |
253 self.assertEqual([0, 1], expr.evaluate({'numbers': range(5)})) | 258 self.assertEqual([0, 1], expr.evaluate({'numbers': range(5)})) |
254 | 259 |