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
Copyright (C) 2012-2017 Edgewall Software